Le 2005-02-18 19:03, Martin Blaizot a écrit :
je craque !
je dois positionner une image dans le coin supérieur gauche d'une page writer (
àl'intérieur des marges ). Pas de pb horizontalement, par contre, verticalement,
ça reste toujours en dessous de la marge supérieure. J'ai beau essayer toutes
les combinaisons d'ancrage et de positionnement ( absolu ou relatif ), je n'y
arrive pas !
Merci de me tuyauter sur les VertOrient, VertOrientRelation et autre AnchorType
à adopter pour arriver au résultat voulu.
C'est expliqué dans le chapitre 6.9 du HowTo API OpenOffice (presque)
sans peine. Le (presque) , c'est pour les cas dans ce genre ;)
Solution basée sur l'exemple du 6.11 b):
Sub InsererImage
Dim MonDocument As Object, MonTexte As Object
Dim MonImage As Object
Dim MonCurseur As Object
MonDocument = ThisComponent
MonTexte = MonDocument.Text
MonCurseur= MonTexte.createTextCursor
MonImage = MonDocument.createInstance("com.sun.star.text.GraphicObject")
MonImage.GraphicURL = ConvertToURL("C:\Docs OpenOffice\etoile_26.bmp")
With MonImage
.AnchorType = com.sun.star.text.TextContentAnchorType.AT_PAGE
.VertOrient = com.sun.star.text.VertOrientation.TOP
.VertOrientRelation = com.sun.star.text.RelOrientation.PAGE_FRAME
.HoriOrient = com.sun.star.text.HoriOrientation.LEFT
.HoriOrientRelation = com.sun.star.text.RelOrientation.PAGE_LEFT
End With
MonTexte.insertTextContent(MonCurseur, MonImage, false)
End Sub
La macro positionne dans la première page. Il faut évidemment
positionner monCurseur dans la page souhaitée.
Bonne journée
Bernard