Méthode Application.Run (Word)
Exécute une macro Visual Basic.
Syntaxe
expression. Exécuter (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)
expression Obligatoire. Variable qui représente un objet Application.
Parameters
Nom | Requis/Facultatif | Type de données | Description |
---|---|---|---|
MacroName | Obligatoire | String | Nom de la macro. |
varg1... varg30 | Facultatif | Variant | Valeurs des paramètres de la macro. Vous pouvez transférer jusqu'à 30 valeurs de paramètres à la macro spécifiée. |
Remarques
Le paramètre NomMacro peut être n'importe quelle combinaison de noms de modèle, de module et de macro. Par exemple, les instructions suivantes sont toutes valides.
Application.Run "Normal.Module1.MAIN"
Application.Run "MyProject.MyModule.MyProcedure"
Application.Run "'My Document.doc'!ThisModule.ThisProcedure"
Si vous spécifiez le nom du document, votre code peut uniquement exécuter des macros dans des documents liés au contexte actuel, et pas n’importe quelle macro dans n’importe quel document.
Bien que le code Visual Basic puisse appeler une macro directement (sans utiliser la méthode Run ), cette méthode est utile lorsque le nom de la macro est stocké dans une variable. (Pour plus d’informations, consultez l’exemple de cette rubrique). Les trois instructions suivantes sont fonctionnellement équivalentes. Les deux premières instructions nécessitent une référence à Normal.dot, le projet dans lequel réside la macro appelée ; La troisième instruction, qui utilise la méthode Run , ne nécessite pas de référence au projet Normal.dot.
Normal.Module2.Macro1
Call Normal.Module2.Macro1
Application.Run MacroName:="Normal.Module2.Macro1"
Exemple
Cet exemple montre comment afficher un message qui invite l'utilisateur à entrer un nom de modèle, de module, de macro et une valeur de paramètre, puis comment exécuter cette macro.
Dim strTemplate As String
Dim strModule As String
Dim strMacro As String
Dim strParameter As String
strTemplate = InputBox("Enter the template name")
strModule = InputBox("Enter the module name")
strMacro = InputBox("Enter the macro name")
strParameter = InputBox("Enter a parameter value")
Application.Run MacroName:=strTemplate & "." _
& strModule & "." & strMacro, _
varg1:=strParameter
Voir aussi
Assistance et commentaires
Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.