[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 !

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

Messagepar ooSikas » 11 Nov 2019 18:45

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
Pièces jointes
Modifier hauteur rectangle.ods
(10.63 Kio) Téléchargé 4 fois
Dernière édition par ooSikas le 11 Nov 2019 20:10, édité 1 fois.
LibreOffice Version: 5.4.7.2 sous Windows 10
ooSikas
Membre lOOyal
Membre lOOyal
 
Message(s) : 38
Inscrit le : 22 Juil 2017 09:33

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

Messagepar luky-luke » 11 Nov 2019 19:38

Bonjour
Code : Tout sélectionner   AgrandirRéduire
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
Avatar de l’utilisateur
luky-luke
InconditiOOnnel
InconditiOOnnel
 
Message(s) : 914
Inscrit le : 27 Nov 2010 01:17
Localisation : gâtine deux-sèvrienne

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

Messagepar ooSikas » 11 Nov 2019 20:09

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: 5.4.7.2 sous Windows 10
ooSikas
Membre lOOyal
Membre lOOyal
 
Message(s) : 38
Inscrit le : 22 Juil 2017 09:33

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

Messagepar luky-luke » 11 Nov 2019 20:48

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/9782212132472/programmation-openoffice-org-et-libreoffice
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
Avatar de l’utilisateur
luky-luke
InconditiOOnnel
InconditiOOnnel
 
Message(s) : 914
Inscrit le : 27 Nov 2010 01:17
Localisation : gâtine deux-sèvrienne

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

Messagepar ooSikas » 11 Nov 2019 21:58

Merci pour tes réponses.
En effet je n'utilise pas XRAY, mais je vais commencer à me poser la question du coup ! :)
LibreOffice Version: 5.4.7.2 sous Windows 10
ooSikas
Membre lOOyal
Membre lOOyal
 
Message(s) : 38
Inscrit le : 22 Juil 2017 09:33


Retour vers Macros et API

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 6 invité(s)