[Résolu] passage des arguments a une macro en pilotant

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
starm
Membre lOOyal
Membre lOOyal
Messages : 28
Inscription : 20 avr. 2006 21:10

[Résolu] passage des arguments a une macro en pilotant

Message par starm »

Bonjour,

Mon problème est tout simplement que je ne sais pas comment passer des arguments a une macro en pilotant le tout a partir de java.

J'execute mes macro sous java avec la fonction suivante :

Code : Tout sélectionner

private static void executerCommande(DocumentOOo monDocument, String instruction, BureauOOo monBureau)
    {
        try
        {
            
            // recherche du modele du document
            XModel xModel = (XModel) UnoRuntime.queryInterface(XModel.class,monDocument.getXComponent());
            
            // recherche du controleur
            XController xController = xModel.getCurrentController();
            
            // recherche de la fenetre
            XFrame xFrame = xController.getFrame();
            
            // recherche du dispatcher
            XDispatchProvider calcDocFrame_XDispatchProvider = (XDispatchProvider) UnoRuntime.queryInterface(XDispatchProvider.class,xFrame);

            
            //DispatchHelper
            Object dispatchHelper = monBureau.getServiceMCF().createInstanceWithContext("com.sun.star.frame.DispatchHelper", monBureau.getOOo().getXRemoteContext());
            XDispatchHelper dispatchHelper_XDispatchHelper = (XDispatchHelper) UnoRuntime.queryInterface(XDispatchHelper.class,dispatchHelper);

            // lancement de la commande
            dispatchHelper_XDispatchHelper.executeDispatch(calcDocFrame_XDispatchProvider, instruction, "", 0, new PropertyValue[0]);

        }
...
et je l'appelle avec une ligne qui ressemble a ceci

Code : Tout sélectionner

String nomMacro = "macro:///Standard.Module1.Main";

executerCommande(monDocument,nomMacro,monBureau); // lancement de la macro
Lorsque je rajoute des arguements avec Main, par exemple :
String nomMacro = "macro:///Standard.Module1.Main \"test\"";
et que je lui demande de m'afficher l'argument avec un msgbox il ne fait rien.

Pouvez vous m'aider svp pour savoir comment passer des chaines de caractères en argument de la macro.

Merci d'avance.

Starm
Dernière modification par starm le 24 avr. 2006 18:04, modifié 1 fois.
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 25602
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: passage des arguments a une macro en pilotant OOo en jav

Message par Dude »

starm a écrit :comment passer des arguments a une macro en pilotant le tout a partir de java.
Ton problème n'est plus du ressort d'OOo. Tu devrais plutôt voir dans un forum Java (celui de www.developpez.com par exemple).
Poser une question, c'est bien. Répondre aux autres, c'est encore mieux.
Améliorez AOO et votez pour les issues
starm
Membre lOOyal
Membre lOOyal
Messages : 28
Inscription : 20 avr. 2006 21:10

Message par starm »

Je ne vois pas tellement le rapport avec java la, j'appelle une macro OOo a partir de java ok, mais avec des services OOo. Ce ne sont pas les protocoles java mais qui sont utilisés ici mais bien ceux de OOo.
Donc je réitère ma question, si quelqu un a une solution merci d'avance.

Starm
bm92
ManitOOu
ManitOOu
Messages : 2562
Inscription : 26 nov. 2005 13:42

Message par bm92 »

Quelque chose comme ça

Code : Tout sélectionner

String nomMacro = "macro:///Standard.Module1.Main(Arg1,Arg2)";
Les arguments étant sous forme de caractères dans le string.
starm
Membre lOOyal
Membre lOOyal
Messages : 28
Inscription : 20 avr. 2006 21:10

Message par starm »

Merci a tous, j'ai résolu mon problème en supprimant la macro et en réalisant la même action par l'api java.

Starm