Philippe a écrit :

Bernard Marcelly a écrit

J'ai déjà répondu récemment dans le contexte COM avec Delphi. Il faut utiliser le dispatcher. En Basic cela donne ceci.

Supposons ouvert un document appelé MessageBox.sxw contenant une bibliothèque maBibli, avec dans son Module1 cette macro:
  Sub afficher(texte as string)
  MsgBox(texte)
  End Sub

Ouvrons un deuxième document contenant cette macro:
Sub lancerMacroAilleurs
dim fenetreDoc as object, dsp as object
fenetreDoc = StarDesktop.CurrentFrame
dsp = CreateUnoService("com.sun.star.frame.DispatchHelper")
rem   --  ici une ligne très longue !!!
dsp.executeDispatch(fenetreDoc, "macro://MessageBox/maBibli.Module1.afficher(Hello OOo!)", "", 0, Array())

ça marche impec,

par contre si dans le 1er doc ouvert, si on déclare l'argument(s) optional
> .afficher()

Lors du test suivant :
If IsMissing(arg) then....

la condition ne semble pas vérifiée,
puisque arg contient : 'Error' + 1 caractere inconnu ?

avez-vous déja testée ceci, ou est-ce un problème venant de mon script ?

Philippe



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Répondre à