Partager via


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

Objet Application

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.