Bonjour à tous,

Au moyen d'une macro, je souhaiterais pouvoir insérer une image en filigrane de chaque page.
J'ai suivi le how-to de Sophie Gautier (comment insérer un filigrane) cfr. http://fr.openoffice.org/Documentation/How-to/indexht.html
Malheureusement, l'enregistreur de macro (OOo 1 et 2) ne réalise pas la  procédure décrite dans le point 2 dudit how to, à savoir :

"Sous Format -> Page, choisissez l'onglet Arrière-plan. Dans le menu déroulant Type, sélectionnez Image.
Puis cliquez sur le bouton Parcourir et naviguez jusqu'à trouver votre image."


D'avance je vous remercie d'examiner le prob et de me faire part de vos solutions.

Pour ne pas vous laisser faire tout le travail, j'ai cherché une autre solution satisfaisante pour les documents qui se limite à une page.
 Il s'agit de la méthode décrite dans le how-to au point 1. "créer un filigrane sur une page" la voici :

NB il y a un "bug" en OO1 et 2 car la commande :

dispatcher.executeDispatch(document, ".uno:WrapThroughTransparent", "", 0, Array())


est générée en commentaire par l'enregistreur de macro. Il suffit donc d'enlever la mention "Rem" pour que la ligne et toute la macro
reprise ci-dessous (pour plus de clarté) fonctionne.

sub INSERTION DU FILIGRANE COPIE

rem ----------------------------------------------------------------------

rem define variables

dim document as object

dim dispatcher as object

rem ----------------------------------------------------------------------

rem get access to the document

document = ThisComponent.CurrentController.Frame

dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem je place le curseur au début du document pour que l'image ait toujours la même taille.-------

dispatcher.executeDispatch(document, ".uno:GoToStartOfDoc", "", 0, Array())

rem j'insère l'image càd le fichier copie.gif-------------------------------------------------------

dim args2(3) as new com.sun.star.beans.PropertyValue

args2(0).Name = "FileName"

args2(0).Value = "file:///home/Copie.gif"

args2(1).Name = "FilterName"

args2(1).Value = "<Tous les formats>"

args2(2).Name = "AsLink"

args2(2).Value = false

args2(3).Name = "Style"

args2(3).Value = "Image"

dispatcher.executeDispatch(document, ".uno:InsertGraphic", "", 0, args2())

rem l'image est mise en arrière plan----------------------------------------------

dispatcher.executeDispatch(document, ".uno:WrapThroughTransparent", "", 0, Array())

end sub

MERCI BEAUCOUP.


Mon environnement de travail est le suivant :
Linux : Fedora Core
OpenOffice 1.1.3.
--

Joël KEUTGEN


Répondre à