Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Lancer une macro word avec paramètres depuis un vbscript.

2 réponses
Avatar
Patrice L.T.
Bonjour,

Je m'essaye depuis qq jours au pilotage de word depuis un vbscript.
J'arrive à lancer word et à ouvrir un document, ainsi qu'à lancer une macro.

Le problème est que j'ai besoin d'utiliser une macro word avec paramètres.
La commande "run" fonctionne lorsque l'on utilise une macro classique.
Mais dès qu'il s'agit d'une macro avec paramètres, j'ai une erreur (Code :
80020003) "Impossible d'exécuter la macro spécifiée" .

Voici mon code VBS :

Set wdo = CreateObject("Word.Application")
wdo.visible = True
Set wdocs = wdo.Documents
Set wdoc = wdocs.Open("c:\BAAR01.DOC")
wdo.Run("Macro1((""Toto""))")

Voici ma macro :

Sub Macro1(Optional ByVal Valeur As String = "")
MsgBox (Valeur)
End Sub

2 réponses

Avatar
Jacques93
Bonjour,

Je m'essaye depuis qq jours au pilotage de word depuis un vbscript.
J'arrive à lancer word et à ouvrir un document, ainsi qu'à lancer une macro.

Le problème est que j'ai besoin d'utiliser une macro word avec paramètres.
La commande "run" fonctionne lorsque l'on utilise une macro classique.
Mais dès qu'il s'agit d'une macro avec paramètres, j'ai une erreur (Code :
80020003) "Impossible d'exécuter la macro spécifiée" .

Voici mon code VBS :

Set wdo = CreateObject("Word.Application")
wdo.visible = True
Set wdocs = wdo.Documents
Set wdoc = wdocs.Open("c:BAAR01.DOC")
wdo.Run("Macro1((""Toto""))")

Voici ma macro :

Sub Macro1(Optional ByVal Valeur As String = "")
MsgBox (Valeur)
End Sub



Si ta macro s'appelle 'Macro1', et Valeur = "Toto" :

wdo.Run "Macro1", "Toto"

Syyntaxe :
expression.Run MacroName, varg1, varg2, varg3, varg4, varg5, varg6,
varg7, varg8, varg9, varg10, varg11, varg12, varg13, varg14, varg15,
varg16, varg17, varg18, varg19, varg20, varg21, varg22, varg23, varg24,
varg25, varg26, varg27, varg28, varg29, varg30


--
Cordialement,

Jacques.

Avatar
Patrice L.T.
Merci !

et désolé pour la question à 2 balles !

Patrice.


Si ta macro s'appelle 'Macro1', et Valeur = "Toto" :

wdo.Run "Macro1", "Toto"

Syyntaxe :
expression.Run MacroName, varg1, varg2, varg3, varg4, varg5, varg6,
varg7, varg8, varg9, varg10, varg11, varg12, varg13, varg14, varg15,
varg16, varg17, varg18, varg19, varg20, varg21, varg22, varg23, varg24,
varg25, varg26, varg27, varg28, varg29, varg30


--
Cordialement,

Jacques.