Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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:
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.
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
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
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
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