Estoy buscando una macro para mi Archivo A que ejecute lo siguiente en LibreOffice:
es necesario pulsar el botón del archivo A para ejecutar una macro ubicada en el otro archivo B.
tenga en cuenta:
1) Ya estoy con el archivo B abierto.
2) nombre de macro en el archivo B es:
macro: Borrar_todo
biblioteca: VBAProject
módulo: Módulo1
Gracias.
[Resuelto] macro: Ejecutar Macro en otro archivo
[Resuelto] macro: Ejecutar Macro en otro archivo
Última edición por physic el Mar Nov 13, 2018 11:11 am, editado 1 vez en total.
LibreOffice 5.4.4.2 >>> Windows 7
Re: macro: executar Macro en outro arquivo
yo trabajaba anteriormente con archivos Excel, donde tenía varias macros en la biblioteca VBAProject del archivo Excel.
hice la conversión de Archivo.xls a Archivo.ods, y la biblioteca VBAProject se mantuvo con el mismo nombre en el nuevo archivo .ods.
es decir, el nuevo archivo convertido a .ODS, contiene la biblioteca STANDARD y también la biblioteca VBAProject.
Usted puede ayudarme a crear el comando para ejecutar la macro en el archivo B, utilizando el nombre de esa biblioteca VBAProject.
entonces haré las pruebas aquí para comprobar lo que va a suceder.
muchas gracias.
hice la conversión de Archivo.xls a Archivo.ods, y la biblioteca VBAProject se mantuvo con el mismo nombre en el nuevo archivo .ods.
es decir, el nuevo archivo convertido a .ODS, contiene la biblioteca STANDARD y también la biblioteca VBAProject.
Usted puede ayudarme a crear el comando para ejecutar la macro en el archivo B, utilizando el nombre de esa biblioteca VBAProject.
entonces haré las pruebas aquí para comprobar lo que va a suceder.
muchas gracias.
LibreOffice 5.4.4.2 >>> Windows 7
Re: macro: executar Macro en outro arquivo
Solo para no dejar ¿cómo lo hacías en VBA, puedes comentarlo?
Saludos, Federico.
Saludos, Federico.
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Re: macro: executar Macro en outro arquivo
Se ejecuta así en VBA de Excel: Application.Run "Book1.xls! MyMacroName"
ver el ejemplo: https://www.rondebruin.nl/win/s9/win001.htm
abrazos.
ver el ejemplo: https://www.rondebruin.nl/win/s9/win001.htm
abrazos.
LibreOffice 5.4.4.2 >>> Windows 7
Re: macro: executar Macro en outro arquivo
Entiendo que el archivo tiene extensión .odshice la conversión de Archivo.xls a Archivo.ods, y la biblioteca VBAProject se mantuvo con el mismo nombre en el nuevo archivo .ods.
contiene la biblioteca STANDARD y también la biblioteca VBAProject
el nombre del modulo debe ser exactoMódulo1
el archivo A y el B están abiertosYa estoy con el archivo B abierto
Una guía de como hacerlo:
Código: Seleccionar todo
Sub RunMacroDeOtroArchivo()
GlobalScope.BasicLibraries.LoadLibrary("Tools")
nombre = "B.ods"
oDocs = StarDesktop.getComponents().createEnumeration()
Do While oDocs.hasMoreElements()
oDoc = oDocs.nextElement()
If HasUnoInterfaces(oDoc, "com.sun.star.frame.XModel") Then
If oDoc.hasLocation() Then
If oDoc.Title = nombre Then
StarDesktop.setActiveFrame(oDoc.CurrentController.Frame)
oDoc.CurrentController.Frame.ContainerWindow.toFront()
oDoc.BasicLibraries.loadLibrary("Standard")
Set scriptProvider = oDoc.getScriptProvider()
proveedor = scriptProvider.getScript("vnd.sun.star.script:VBAProject.Módulo1.NombreDeTuMacro?language=Basic&location=document")
proveedor.invoke(array(), array(), array())
End if
End If
End If
Loop
End Sub
lo 6.2.0 | aoo 4.1.6 | win 7/10
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
¡Un aplauso para todos los que luchan por proteger y promover la Web abierta!
Re: macro: Ejecutar Macro en otro archivo
felicitaciones ,
la macro funcionó perfectamente .
muchas gracias !
la macro funcionó perfectamente .
muchas gracias !
LibreOffice 5.4.4.2 >>> Windows 7