Método Application.Run (Word)

Ejecuta una macro de Visual Basic.

Sintaxis

expresión. Ejecutar (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)

expresión requerida. Variable que representa un objeto Application.

Parameters

Nombre Obligatorio/opcional Tipo de datos Descripción
MacroName Obligatorio String Nombre de la macro.
varg1... varg30 Opcional Variant Valores de parámetro de la macro. Pueden utilizarse hasta 30 valores de parámetro para la macro especificada.

Comentarios

El parámetro MacroName puede ser cualquier combinación de plantilla, módulo y nombre de macro. Por ejemplo, son válidas todas las instrucciones siguientes.

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

Si especifica el nombre del documento, el código solo puede ejecutar macros en documentos relacionados con el contexto actual, no solo en cualquier macro de cualquier documento.

Aunque el código de Visual Basic puede llamar a una macro directamente (sin usar el método Run ), este método resulta útil cuando el nombre de la macro se almacena en una variable. (Para obtener más información, vea el ejemplo de este tema). Las tres instrucciones siguientes son funcionalmente equivalentes. Las dos primeras instrucciones requieren una referencia a Normal.dot, el proyecto en el que reside la macro llamada; La tercera instrucción, que usa el método Run , no requiere una referencia al proyecto Normal.dot.

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

Ejemplo:

En este ejemplo se pide al usuario que escriba el nombre de la plantilla, el nombre del módulo, el nombre de la macro y el valor del parámetro para, a continuación, ejecutar dicha 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

Vea también

Objeto Application

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.