Carga y ejecucion de una macro VBA

11/03/2005 - 19:59 por Leonardo Z | Informe spam
Estimado foro:

Mi consulta es la siguiente:

existe algun mecanismo por el cual una planilla excel pueda cargar una macro
VBA que resida en un archivo de texto y ejecutarla automaticamente ?

El problema a resolver seria el siguiente:
1. Arranco excel
2. Se carga automaticamente una planilla de inicio
3. Al ejecutarse el punto 2. se auto ejecuta una macro , que carga un
archivo de texto que a su vez contiene una macro VBA ,que, a continuacion se
ejecuta.

Agradezco la respuesta

Leonardo

Preguntas similare

Leer las respuestas

#1 KL
11/03/2005 - 20:29 | Informe spam
Hola Leonardo,

Prueba este codigo modificando los valores de las variables segun tu
necesidad.

Saludos,
KL

'-Inicio Codigo
'Antes de usar se debe establecer la referencia
'a la biblioteca de objetos de Formularios
'Microsoft (Microsoft Forms [Version] Objects Library)
'desde el Editor VBA, menu Herramientas>Referencias
Option Explicit

Sub ImportarMacro()
Dim res
Dim MiMacro As String
Dim MiTxt As String

'Application.VBE.MainWindow.Visible = False
MiMacro = "NombreDeMiMacro"
MiTxt = "E:\MIS MODULOS\Prueba.txt"

ThisWorkbook.VBProject.VBComponents.Import (MiTxt)
res = Application.Run(MiMacro)
End Sub
'-Fin Codigo

"Leonardo Z" <Leonardo wrote in message
news:
Estimado foro:

Mi consulta es la siguiente:

existe algun mecanismo por el cual una planilla excel pueda cargar una
macro
VBA que resida en un archivo de texto y ejecutarla automaticamente ?

El problema a resolver seria el siguiente:
1. Arranco excel
2. Se carga automaticamente una planilla de inicio
3. Al ejecutarse el punto 2. se auto ejecuta una macro , que carga un
archivo de texto que a su vez contiene una macro VBA ,que, a continuacion
se
ejecuta.

Agradezco la respuesta

Leonardo
Respuesta Responder a este mensaje
#2 LZ
11/03/2005 - 21:09 | Informe spam
KL,

Gracias por tu rapidisima respuesta. Probare el codigo que me enviaste.

Saludos

Leonardo
"KL" escribió:

Hola Leonardo,

Prueba este codigo modificando los valores de las variables segun tu
necesidad.

Saludos,
KL

'-Inicio Codigo
'Antes de usar se debe establecer la referencia
'a la biblioteca de objetos de Formularios
'Microsoft (Microsoft Forms [Version] Objects Library)
'desde el Editor VBA, menu Herramientas>Referencias
Option Explicit

Sub ImportarMacro()
Dim res
Dim MiMacro As String
Dim MiTxt As String

'Application.VBE.MainWindow.Visible = False
MiMacro = "NombreDeMiMacro"
MiTxt = "E:\MIS MODULOS\Prueba.txt"

ThisWorkbook.VBProject.VBComponents.Import (MiTxt)
res = Application.Run(MiMacro)
End Sub
'-Fin Codigo

"Leonardo Z" <Leonardo wrote in message
news:
> Estimado foro:
>
> Mi consulta es la siguiente:
>
> existe algun mecanismo por el cual una planilla excel pueda cargar una
> macro
> VBA que resida en un archivo de texto y ejecutarla automaticamente ?
>
> El problema a resolver seria el siguiente:
> 1. Arranco excel
> 2. Se carga automaticamente una planilla de inicio
> 3. Al ejecutarse el punto 2. se auto ejecuta una macro , que carga un
> archivo de texto que a su vez contiene una macro VBA ,que, a continuacion
> se
> ejecuta.
>
> Agradezco la respuesta
>
> Leonardo



Respuesta Responder a este mensaje
#3 LZ
11/03/2005 - 21:31 | Informe spam
Hola KL,

El codigo que me suministraste se ejecuto correctamente.

Muchas gracias

Leonardo
"KL" escribió:

Hola Leonardo,

Prueba este codigo modificando los valores de las variables segun tu
necesidad.

Saludos,
KL

'-Inicio Codigo
'Antes de usar se debe establecer la referencia
'a la biblioteca de objetos de Formularios
'Microsoft (Microsoft Forms [Version] Objects Library)
'desde el Editor VBA, menu Herramientas>Referencias
Option Explicit

Sub ImportarMacro()
Dim res
Dim MiMacro As String
Dim MiTxt As String

'Application.VBE.MainWindow.Visible = False
MiMacro = "NombreDeMiMacro"
MiTxt = "E:\MIS MODULOS\Prueba.txt"

ThisWorkbook.VBProject.VBComponents.Import (MiTxt)
res = Application.Run(MiMacro)
End Sub
'-Fin Codigo

"Leonardo Z" <Leonardo wrote in message
news:
> Estimado foro:
>
> Mi consulta es la siguiente:
>
> existe algun mecanismo por el cual una planilla excel pueda cargar una
> macro
> VBA que resida en un archivo de texto y ejecutarla automaticamente ?
>
> El problema a resolver seria el siguiente:
> 1. Arranco excel
> 2. Se carga automaticamente una planilla de inicio
> 3. Al ejecutarse el punto 2. se auto ejecuta una macro , que carga un
> archivo de texto que a su vez contiene una macro VBA ,que, a continuacion
> se
> ejecuta.
>
> Agradezco la respuesta
>
> Leonardo



Respuesta Responder a este mensaje
#4 LZ
13/03/2005 - 18:37 | Informe spam
En relacion a la respuesta aportada amablemente por KL, me encuentro con el
siguiente inconveniente que surge de la ejecucion multiple de la macro.

Si ejecuto la macro por primera vez, funciona bien sin consecuencias.

Si la vuelvo a ejecutar, el archivo de texto ( que a su vez contiene una
macro) se importa automaticamente sobre un modulo nuevo. Por lo tanto tengo
cargada dos veces la macro en distintos modulos. Y asi sucesivamente, es
decir cada ejecucion genera una nueva macro en un nuevo modulo.

Lamentablemente mis conocimientos de VBA para excel no dan como para
resolver autonomamete el problema, y recurro nuevamente al foro.

Es posible importar una macro siempre sobre un mismo modulo ?

De no ser posible, es posible 'rastrear' una macro por su nombre y
eliminarla para luego importarla nuevamente ?

Saludos

Leonardo



"Leonardo Z" escribió:

Estimado foro:

Mi consulta es la siguiente:

existe algun mecanismo por el cual una planilla excel pueda cargar una macro
VBA que resida en un archivo de texto y ejecutarla automaticamente ?

El problema a resolver seria el siguiente:
1. Arranco excel
2. Se carga automaticamente una planilla de inicio
3. Al ejecutarse el punto 2. se auto ejecuta una macro , que carga un
archivo de texto que a su vez contiene una macro VBA ,que, a continuacion se
ejecuta.

Agradezco la respuesta

Leonardo
Respuesta Responder a este mensaje
#5 KL
13/03/2005 - 20:43 | Informe spam
Hola LZ,

Prueba este codigo.

Saludos,
KL

'-Inicio Codigo
'Antes de usar se debe establecer la referencia
'a la biblioteca de objetos de Formularios
'Microsoft (Microsoft Forms [Version] Objects Library)
'desde el Editor VBA, menu Herramientas>Referencias
Option Explicit

Sub ImportarMacro()
Dim res
Dim MiMacro As String
Dim MiTxt As String
Dim MiModulo As Object

'Application.VBE.MainWindow.Visible = False
MiMacro = "EjectCD"
MiTxt = "E:\MIS MODULOS\EjectCD.txt"

With ThisWorkbook.VBProject.VBComponents
Set MiModulo = .Import(MiTxt)
Application.Run (MiMacro)
.Remove MiModulo
End With
End Sub
'-Fin Codigo
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida