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
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.