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
[Résolu][Calc]Modifier les dimensions d'un objet de dessin
Modérateur : Vilains modOOs
Règles du forum
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 !
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 !
-
- Membre OOrganisé
- Messages : 72
- Inscription : 22 juil. 2017 08:33
[Résolu][Calc]Modifier les dimensions d'un objet de dessin
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
-
- 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
Bonjour
Cordialement
Luke
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
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
Xray ne tient pas lieu de tout, mais une pratique sans Xray ne vaut pas grand chose
-
- Membre OOrganisé
- Messages : 72
- Inscription : 22 juil. 2017 08:33
Re: [Calc]Modifier les dimensions d'un objet de dessin
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
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
-
- 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
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
Bon courage
Luke
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
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
Xray ne tient pas lieu de tout, mais une pratique sans Xray ne vaut pas grand chose
-
- Membre OOrganisé
- Messages : 72
- Inscription : 22 juil. 2017 08:33
Re: [Résolu][Calc]Modifier les dimensions d'un objet de dess
Merci pour tes réponses.
En effet je n'utilise pas XRAY, mais je vais commencer à me poser la question du coup !
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