Se connecter avec
S'enregistrer | Connectez-vous
Votre question

[ VB6 / VBA Word] [Résolu] Passer un argument a une Macro

Dernière réponse : dans Programmation
Partagez
16 Juin 2006 10:46:42

Bonjour a tous,

je debute tout juste en VB/VBA et je rencontre un souci pour appeler une Macro d'un fichier Word depuis une application en VB6.
Plus clairement, mon application VB6 ouvre un fichier Word, rentre/copie des donnees puis appel des macros du fichier Word en question. La ou cela se complique c'est lorsque je veux appeler une Macro en lui passant un parametre:

code d'appel de Macro standard
========================
application.run("MaMacro") <== Ceci Fonctionne car aucun argument a faire passer


Declaration de la Macro dans le fichier Word
======================================
Sub MaMacro( PathToFile as String)
.
.
.
End Sub


Ma question est donc comment je peux faire passer le parametre depuis mon code VB a la Macro ?

Merci par avance de vos reponses car je suis completement bloqué a ce stade et c'est rageant car une fois ceci fait mon projet est bouclé.


Moctesuma.
=-=-=-=-=-=-=
a b L Programmation
16 Juin 2006 10:59:59

Eh, l'azteque, pas de ======================================
s'il te plait, utilise plutot [code] [/ code]
a b L Programmation
16 Juin 2006 11:02:01

Honte sur toi, l'empereur azteque :o 

L'aide de Word est très claire :
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)
a b L Programmation
16 Juin 2006 11:11:22

(Je ne suis pas très sympa avec ce nouvel arrivant)

Sinon à part ça, Bienvenue sur PPC :hello: 
16 Juin 2006 11:18:44

Héhé :) 

Salut Zeb,

oui en effet l'aide semble claire mais ca n'a pas l'air de fonctionner helas.
Voila ce que j'ai essayé:

application.run( "TaMacro", "tonPath")

et je recois le message suivant:

Compile Error: Expected: =

voila voila.

MErci pour la Bienvenue ;) 
16 Juin 2006 11:42:59

[:aschrack] l'aztèque

heum pardon je vous laisse
a b L Programmation
16 Juin 2006 11:53:42

Rho...... Pas de parenthèses pour les proédures.
Si tu veux mettre le résultat de RUN dans une variable tu écris
  1. resultat = Application.Run ( "TaMacro", "TonParamètre" )


Si tu n'as rien à faire du résultat, tu écris :
  1. Application.Run "TaMacro", "TonParamètre"


Enjoy !
16 Juin 2006 14:27:12

Re bonjour,

Merci beaucoup zeb. En effet cela fonctionne parfaitement et je suis sorti de ce mauvais pas. ;) 
Pour info c'est la deuxieme forme que j'ai utilisé

  1. Application.Run "TaMacro", "TonParamètre"


Encore une fois Merci.