file - programar - starbasic
¿Es posible ejecutar macro de Open Office desde un archivo externo? (1)
Quiero ejecutar macro de OpenOffice desde un archivo externo. Me gusta:
vlad@leo ~ $ soffice macro:///home/vlad/q.vbs
Realmente no es una respuesta, solo un comentario, para responder a esta pregunta, y con suerte obtener una respuesta :)
Esto posiblemente tiene que ver con tener que establecer explícitamente permisos para macros, por ejemplo:
Editar: De hecho, parece ser imposible llamar a macros de documentos, lo que es perfecto por razones de seguridad.
Ver también:
- Macros y bibliotecas básicos personalizados de OpenOffice.org - OpenOffice.org Wiki
- Foro de OpenOffice.org :: Habilite la macro de OpenOffice a través de la línea de comandos .
- OpenOffice.org Forum :: pregunta de línea de comando simple
- OpenOffice.org Forum :: HowTo Run Macros from Document from Shell
Como nota al margen, el archivo estándar Module1
se puede encontrar en (en Linux):
~/.openoffice.org/3/user/basic/Standard/Module1.xba
~/.libreoffice/3/user/basic/Standard/Module1.xba
y tenga en cuenta que .xba es en realidad un archivo XML, que contiene la fuente de macro Básica, como en:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Module1" script:language="StarBasic">REM ***** BASIC *****
Sub Main
End Sub</script:module>
Desafortunadamente, solo copiar a los directorios respectivos (a continuación, en extensiones) no funciona, como en el siguiente fragmento de línea de comandos.
sudo mkdir /usr/lib/libreoffice/share/extensions/mytest
sudo cp ~/.libreoffice/3/user/basic/Standard/Module1.xba /usr/lib/libreoffice/share/extensions/mytest/MyTestModule.xba
sudo sed -i ''s/Module1/MyTestModule/g'' /usr/lib/libreoffice/share/extensions/mytest/MyTestModule.xba
Así que supongo que la única forma es agregar / permitir Macros manualmente en OpenOffice, y luego posiblemente encontrar dónde están almacenados los archivos .xba respectivos, y cambiar su código allí (si solo se desea usar una línea de comando) ...
Tal vez el uso de Python - OpenOffice.org Wiki es un enfoque más abierto a los scripts externos, pero requiere que inicies OpenOffice como servidor ...