Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Want to see what's currently in public preview? We've pulled it all together in one place. Check it out here
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
Joaquin_Lazaro
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