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]);
}
...
Code : Tout sélectionner
String nomMacro = "macro:///Standard.Module1.Main";
executerCommande(monDocument,nomMacro,monBureau); // lancement de la macro
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