[Résolu][Calc]Modifier les dimensions d'un objet de dessin

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
ooSikas
Membre OOrganisé
Membre OOrganisé
Messages : 72
Inscription : 22 juil. 2017 08:33

[Résolu][Calc]Modifier les dimensions d'un objet de dessin

Message par ooSikas »

Bonjour

Je souhaite modifier les dimensions d'une forme de dessin depuis une macro.
J'arrive a récupérer la forme dans la macro, a en extraire ses dimensions et sa position, mais je n'arrive pas à les modifier.
Je ne parviens pas à trouver la fonction qui le permet.

Les caractéristiques de l'objet que je cherche à modifier sont :

FrameRect (com.sun.star.awt.Rectangle)
- X (long)
- Y (long)
- Width (long)
- Height (long)

Si quelqu'un peu m'aider à trouver la fonction qui permet de modifier ces paramètres, merci d'avance.

Je met mon fichier en pièce jointe
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par ooSikas le 11 nov. 2019 19:10, modifié 1 fois.
LibreOffice Version: 6.4.4.2 sous Windows 10
Avatar de l’utilisateur
luky-luke
InconditiOOnnel
InconditiOOnnel
Messages : 936
Inscription : 27 nov. 2010 00:17
Localisation : gâtine deux-sèvrienne

Re: [Calc]Modifier les dimensions d'un objet de dessin

Message par luky-luke »

Bonjour

Code : Tout sélectionner

Sub Modif_Cadre_bleu()
	dim oDoc as object
	dim  oDrawpage as object
	dim cpt as integer
	dim objetTrouve as object
	dim buf as string
	dim sNom as string
	
	oDoc = ThisComponent.Sheets.getByName("Feuille1")
    oDrawpage = oDoc.drawPage

   sNom="Cadre_bleu"
   ' chercher l'objet image dont le nom est 'sNom'
   for cpt = 0 to oDrawpage.count -1
      objetTrouve = oDrawpage(cpt)
      buf = objetTrouve.name
'	  msgbox ("texte : " & buf)
      if (strcomp(sNom,buf) = 0) then           
'           msgbox("hauteur = "& objetTrouve.FrameRect.Height) 'La hauteur actuelle du rectangle est récupérée
            Dimen = objetTrouve.size
            With Dimen
            	.Height  = 3000
            	.Width = 2000
            End With
			objetTrouve.size = Dimen
         	Exit For      
      End if
   next
end sub
Cordialement
Luke
AOO 4.1.3 et LibO 5.3.7.2 Ubuntu 16.04 LTS et Debian 9
Xray ne tient pas lieu de tout, mais une pratique sans Xray ne vaut pas grand chose
ooSikas
Membre OOrganisé
Membre OOrganisé
Messages : 72
Inscription : 22 juil. 2017 08:33

Re: [Calc]Modifier les dimensions d'un objet de dessin

Message par ooSikas »

Merci Luky-luke

A tout hasard, sais tu s'il existe une bibliothèque qui recense les différents type de fonction à utiliser pour modifier les caractéristiques d'un objet?
Merci d'avance
LibreOffice Version: 6.4.4.2 sous Windows 10
Avatar de l’utilisateur
luky-luke
InconditiOOnnel
InconditiOOnnel
Messages : 936
Inscription : 27 nov. 2010 00:17
Localisation : gâtine deux-sèvrienne

Re: [Résolu][Calc]Modifier les dimensions d'un objet de dess

Message par luky-luke »

Re
Alors Il y a une référence incontournable, LA bible que tu vas trouver au éditions Eyrolle
https://www.editions-eyrolles.com/Livre ... ibreoffice
Je pense que tu as utilisé le débogueur pour trouver la propriété FrameRect (com.sun.star.awt.Rectangle) Mais il est incomplet et donne peu d'information. Il y a beaucoup plus puissant avec l'outil XRAY développé par Bernard Marcelly que tu vas trouver sur ce forum en suivant le lien présent dans ma signature. Si tu configure correctement Xray tu aura accès directement à la documentation de l'API pour la propriété que tu sélectionne.
Et le fil dans cette section du forum L'essentiel pour programmer efficacement qui donne différents liens vers la documentation
Autrement, pour modifier les dimensions d'une forme, je cherche une propriété d'objet du genre Size plutôt que FrameRect :lol:

Bon courage
Luke
AOO 4.1.3 et LibO 5.3.7.2 Ubuntu 16.04 LTS et Debian 9
Xray ne tient pas lieu de tout, mais une pratique sans Xray ne vaut pas grand chose
ooSikas
Membre OOrganisé
Membre OOrganisé
Messages : 72
Inscription : 22 juil. 2017 08:33

Re: [Résolu][Calc]Modifier les dimensions d'un objet de dess

Message par ooSikas »

Merci pour tes réponses.
En effet je n'utilise pas XRAY, mais je vais commencer à me poser la question du coup ! :)
LibreOffice Version: 6.4.4.2 sous Windows 10