Date: prev next · Thread: first prev next last
2015 Archives by date, by thread · List index


Bonjour,
Je planche sur une macro, mais je tourne en rond !
J’ai une page, avec un cadre. Dans ce cadre j’ai un tableau.
Je veux coller une image en mémoire dans ce tableau.
1- je colle avec cette fonction :
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())
2- j’arrive a sélectionner mon cadre avec cette fonction :
dispatcher.executeDispatch(document, ".uno:JumpToNextFrame", "", 0, Array())

mais je n’arrive pas à entrer dans le cadre (et donc dans le tableau)

Je m'inspire de cette page 
https://wiki.documentfoundation.org/Development/DispatchCommands#Writer_slots_.28swslots.29

Une idée
Merci
Nicolas

Voici le script
REM  *****  BASIC  *****

sub Main
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
msgbox("l'image va être copiée depuis Draw") 

rem ----------------------------------------------------------------------
rem get access to the document
        document   = ThisComponent.CurrentController.Frame
        dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
rem on colle l'image en mémoire depuis Draw
        dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())
rem ----------------------------------------------------------------------
rem on ancre comme caractère l'image
        dispatcher.executeDispatch(document, ".uno:SetAnchorToChar", "", 0, Array())
rem ----------------------------------------------------------------------
rem on coupe l'image qui est n'importe où après l'ancrage
        dispatcher.executeDispatch(document, ".uno:Cut", "", 0, Array())
rem ----------------------------------------------------------------------
rem on se place en début de document, 2 pages, donc certains d'être en début de première page
        dispatcher.executeDispatch(document, ".uno:GoToStartOfPrevPage", "", 0, Array())
rem ----------------------------------------------------------------------
rem on deplace le curseur 2 fois à droite (on est dans un premier tableau)
        dim argsdroite(1) as new com.sun.star.beans.PropertyValue
        argsdroite(0).Name = "Count"
        argsdroite(0).Value= 2
        argsdroite(1).Name = "Select"
        argsdroite(1).Value= false
        dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, argsdroite())
rem ----------------------------------------------------------------------
rem on colle l'image en mémoire dans la cellule (elle est en tans que caractere, ancrage précédent)
        dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())
rem ----------------------------------------------------------------------
Rem on detecte la prochaine frame
dispatcher.executeDispatch(document, ".uno:JumpToNextFrame", "", 0, Array())

rem et puis je seche ...

end sub

-- 
Envoyez un mail à users+unsubscribe@fr.libreoffice.org pour savoir comment vous désinscrire
Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être 
supprimés

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.