我想从外部文件运行OpenOffice宏。像:
vlad@leo ~ $ soffice macro:///home/vlad/q.vbs
答案 0 :(得分:4)
不是一个真正的答案 - 只是一个评论,以便提出这个问题,并希望得到答案:)
这可能与必须显式设置宏的权限有关,例如:
Can't execute macro from command line (View topic) • OpenOffice.org Community Forum
编辑:事实上,似乎无法调用文档宏,这完全是出于安全考虑。
另见:
作为旁注,可以在(在Linux上)找到标准Module1
文件:
~/.openoffice.org/3/user/basic/Standard/Module1.xba
~/.libreoffice/3/user/basic/Standard/Module1.xba
并注意.xba实际上是一个XML文件,它包含Basic宏源,如:
<?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>
不幸的是,只是复制到相应的目录(下面,扩展名)不起作用,如下面的命令行代码段所示。
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
所以我想唯一的方法是在OpenOffice中手动添加/允许宏,然后可能找到存储相应.xba的位置,并在那里更改其代码(如果只需要命令行使用)... < / p>
使用Python - OpenOffice.org Wiki可能是更开放的外部脚本方法 - 但它需要你作为服务器启动openoffice ...