Compartilhar via


Método Application.Run (Word)

Executa uma macro do Visual Basic.

Sintaxe

expressão. Executar (MacroName, varg1, varg2, varg3, varg4, varg5, varg6, varg7, varg8, varg9, varg10, varg11, varg12, varg13, varg14, varg15, varg16, varg17, varg18, varg19, varg20, varg21, varg22, varg23, varg23, varg24, varg24 varg25, varg26, varg27, varg28, varg29, varg30)

expressão Obrigatório. Uma variável que representa um objeto Application.

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
MacroName Obrigatório String O nome da macro.
varg1... varg30 Opcional Variantes Valores de parâmetros de macro. É possível passar até 30 valores de parâmetros para a macro especificada.

Comentários

O parâmetro MacroName pode ser qualquer combinação de nome de modelos, módulos e macros. Por exemplo, todas as instruções abaixo são válidas.

Application.Run "Normal.Module1.MAIN" 
Application.Run "MyProject.MyModule.MyProcedure" 
Application.Run "'My Document.doc'!ThisModule.ThisProcedure"

Se você especificar o nome do documento, seu código só poderá executar macros em documentos relacionados ao contexto atual, não apenas em qualquer macro em qualquer documento.

Apesar de o código do Visual Basic poder cancelar diretamente uma macro (sem usar o método Run ), esse método é útil quando o nome da macro estiver armazenado em uma variável. (Para obter mais informações, consulte o exemplo neste tópico). As três indicações a seguir são funcionalmente equivalentes. As duas primeiras indicações necessitam de uma referência Normal.dot, o projeto no qual esta macro reside; a terceira indicação, que use o método Run, não necessita de uma referência ao projeto Normal.dot.

Normal.Module2.Macro1 
Call Normal.Module2.Macro1 
Application.Run MacroName:="Normal.Module2.Macro1"

Exemplo

Este exemplo solicita ao usuário que forneça um nome de modelo, de módulo, de macro e um valor de parâmetro e executa essa 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

Confira também

Objeto de Aplicativo

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.