Page 1 sur 1

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

MessagePublié: 11 Nov 2019 18:45
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

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

MessagePublié: 11 Nov 2019 19:38
par luky-luke
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

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

MessagePublié: 11 Nov 2019 20:09
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

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

MessagePublié: 11 Nov 2019 20:48
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/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

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

MessagePublié: 11 Nov 2019 21:58
par ooSikas
Merci pour tes réponses.
En effet je n'utilise pas XRAY, mais je vais commencer à me poser la question du coup ! :)