Pour modifier rapidement la taille de cette cote, je souhaite utiliser une macro qui va lire et modifier les valeurs de la longueur et de la hauteur récupérées et saisies dans une fenêtre de dialogue :
Sélection de la forme avec la souris et lancement de la macro :
Code : Tout sélectionner
Dim MForme as Object
MForme = ThisComponent.CurrentSelection(0)
Code : Tout sélectionner
Dim L1C1 as Integer
L1C1 = MForme.Transformation.Line1.Column1
Code : Tout sélectionner
Dim L2C2 as Integer
L2C2 = MForme.Transformation.Line2.Column2
Code : Tout sélectionner
oDialog.GetControl("Num_L1C1").Value = L1C1
oDialog.GetControl("Num_L2C2").Value = L2C2
Ensuite, je ne sais pas comment écrire la macro pour modifier la cote ?
Je ne peux pas utiliser une ligne genre "SetPosition()" :
Code : Tout sélectionner
MPosition as New com.sun.star.awt.Point
MPosition.X = 5000 ' 50 mm
MPosition.Y = 6000 '60 mm
MForme.setPosition(MPosition)
Après de nombreuses recherches sur le forum, je pensais utiliser :
Code : Tout sélectionner
MTaille as New com.sun.star.drawing.HomogenMatrixLine3
MTaille.Transformation.Line1.Column1 = 7000 'Longueur 70mm
MTaille.Transformation.Line2.Column2 = 2000 'Hauteur 20mm
MTaille. ???
Peut-être faudrait-il utiliser le "Dispatcher" mais là aussi je suis bloqué car je début avec OOoBasic et la cotation sous Draw est très peu documentée. De plus, l'enregistrement de Macros sous Draw n'est pas possible. J'ai donc ramé pas mal pour me lancer.
Quelqu'un peut-il me donner un coup de main ?