Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
sorrakis01
Specialist
Specialist

Como lanzar macro excel desde VBScript

Hola a tod@s,

Tengo un proyecto Qlik que enlaza mediante macro(VBScript) una serie de objetos a una plantilla excel, hasta ahí todo bien.

Lo que me interesaria es que justo antes de finalizar el proceso, esa plantilla lanzará 2 macros que tiene incorporadas. El problema es que no se como llamarlas y si se puede.

Es decir:

  1. Macro Qlik (todo bien)
  2. Una vez acaba todo lo de la macro Qlik, necesito que a la Plantilla se le ejecuten 2 macros que tiene incorporadas (VB)
  3. Una vez ejecutadas las 2 macros del excel se guarda la Plantilla (no creo que haya ningun problema en este paso)

El problema lo tengo en el paso 2.

Os adjunto como estoy llamando a las macros de Excel desde la Macro de Qlik y que no me funciona:

Set objExcelDoc = objExcelApp.Workbooks.Open("c:\Plantilla.xlsm")

objExcelDoc.Application.Run "'Plantilla.xlsm'!Ajustes"

Muchas Gracias a tod@s como siempre.

1 Solution

Accepted Solutions
alex_millan
Creator III
Creator III

Hola,

No estoy muy puesto en el tema, pero si no lo consigues así, quizás podrías utilizar otra aproximación al problema: lanzar desde el script de QlikView un archivo vbs y que este segundo archivo ejecute la macro.

Para lanzar este tipo de archivo desde el script creo que seria algo así:

     EXECUTE wscript c:\path\NombreFicheroScript.vbs parms

Luego el vbs sería algo como esto:

     Set xl = CreateObject("Excel.Application")

     Set wb = xl.Workbooks.Open("C:\path\NombreFicheroExcel.xls")

     xl.Run "'NombreFicheroExcel.xls'!macro"

     wb.Close

     xl.Quit

A ver si te sirve de ayuda

Un saludo

View solution in original post

3 Replies
JoaquinLazaro
Partner - Specialist II
Partner - Specialist II

Hola Jordi:

Intuyo que es más un tema de Excel que de QV. mira esto y ajústalo a tu versión de Officce Habilitar macros automáticamente

Suerte

Joaquín

alex_millan
Creator III
Creator III

Hola,

No estoy muy puesto en el tema, pero si no lo consigues así, quizás podrías utilizar otra aproximación al problema: lanzar desde el script de QlikView un archivo vbs y que este segundo archivo ejecute la macro.

Para lanzar este tipo de archivo desde el script creo que seria algo así:

     EXECUTE wscript c:\path\NombreFicheroScript.vbs parms

Luego el vbs sería algo como esto:

     Set xl = CreateObject("Excel.Application")

     Set wb = xl.Workbooks.Open("C:\path\NombreFicheroExcel.xls")

     xl.Run "'NombreFicheroExcel.xls'!macro"

     wb.Close

     xl.Quit

A ver si te sirve de ayuda

Un saludo

sorrakis01
Specialist
Specialist
Author

Hola,

Primero de todo gracias a los dos. Ahora estaba haciendo pruebas y esta opción funciona:

(sería muy parecida a lo que has escrito Alex)

sub xls

Dim objExcelApp 'as Excel.Application

Dim objExcelDoc

Set objExcelApp = CreateObject("Excel.Application")

objExcelApp.Visible = true

Set objExcelDoc = objExcelApp.Workbooks.Open("c:\Plantilla.xlsm")

objExcelDoc.Application.Run "'Plantilla.xlsm'!Ajustes"

end sub

Es decir que el problema lo tengo en otra parte del código cuando llamo a las funciones.

Muchas Gracias