Estoy tratando de ejecutar una macro de una hoja de cálculo desde fuera con un fichero .bat o .vbs y no soy capaz, se ejecuta todo menos la llamada a la macro. He probado a ejecutar la macro desde dentro del documento y funciona perfectamente.
Adjunto a continuación el código del .vbs, el cual lo único que hace es crear la hoja de cálculo, llamar a la macro y cerrar la hoja de cálculo:
Código: Seleccionar todo
'load openoffice
Set OOServiceManager = CreateObject("com.sun.star.ServiceManager")
Set OODispatcher = OOServiceManager.CreateInstance("com.sun.star.frame.DispatchHelper")
Set OODesktop = OOServiceManager.CreateInstance("com.sun.star.frame.Desktop")
Dim args()
'load file
Set OOSpreadSheet = OODesktop.loadComponentFromURL("file:///C:/TransfDestinatarios/Test.ods", "_default", 0, args)
'run particular macro
'call OODispatcher.ExecuteDispatch(OOSpreadSheet.CurrentController.Frame, "macro:///standard.module1.import_csv", "", 0, args)
'close document
'OOSpreadSheet.close(true)
Muchas gracias por vuestra colaboración.
Un saludo