Bonjour à tous,
J'ai un document Writer avec des macros.
Dans ce document je souhaite insérer des photos dont je peux récupérer le chemin.
J'ai trouvé plusieurs exemples de code qui m'ont permis de rédiger la macro AjouterImage.
Or, à l'exécution de cette macro j'ai le message d'erreur suivant :
Erreur d'exécution BASIC.
Une exception s'est produite :
Type: com.sun.star.lang.IllegalArgumentException
Message: .
Voici le code de la macro AjouterImage
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
Sub AjouterImage(CheminImage as string)
Dim monDocument As Object, monTexte As Object
Dim monCurseur As Object, monImage As Object, gp As Object
Dim positionImage As New com.sun.star.awt.Point
Dim props(0) As New com.sun.star.beans.PropertyValue
monDocument = ThisComponent
monTexte = monDocument.Text
monCurseur = monTexte.createTextCursor
monCurseur.gotoNextParagraph(False) ' déplacer le curseur
gp = createUnoservice("com.sun.star.graphic.GraphicProvider")
props(0).Name = "URL"
props(0).Value = CheminImage
monImage= monDocument.createInstance("com.sun.star.drawing.GraphicObjectShape")
monImage.Graphic = gp.queryGraphic( props() ) ' récupérer le fichier image
monImage.AnchorType = com.sun.star.text.TextContentAnchorType.AT_PARAGRAPH
monTexte.insertTextContent(monCurseur, monImage, false)
resizeImageByWidth(monImage, 5500) ' largeur en 1/100 de mm
positionImage.x = 1500 ' 15 mm à droite du point d'ancrage
positionImage.y = 1300 ' 13 mm en dessous du point d'ancrage
monImage.Position = positionImage
monImage.Surround = com.sun.star.text.WrapTextMode.RIGHT
End Sub |
La variable CheminFichier est renseignée avec l'URL de la photo que je souhaite insérer.
Pour précision, j'utilise un Mac avec OS X El Capitan (10.11.5) , et LibreOffice 5.1.5.2.
Le document Writer possèdent d'autres Macros notamment pour insérer des diagrammes et modifier des champs d'utilisateur qui ne me posent aucun souci.
Pouvez-vous m'aider ?
Merci d'avance.
Partager