我想从外部文件运行OpenOffice宏。喜欢:
vlad@leo ~ $ soffice macro:///home/vlad/q.vbs
不是真正的答案 - 只是一个评论,以便提出这个问题,并希望得到答案:)
这可能与必须显式设置宏的权限有关,例如:
无法从命令行执行宏(查看主题) • OpenOffice.org 社区论坛
编辑:实际上似乎无法调用文档宏,出于安全原因,这是完美的。
另请参阅:
- 自定义 OpenOffice.org 基本宏和库 - OpenOffice.org Wiki
- OpenOffice.org 论坛 :: 通过命令行启用 OpenOffice 宏。
- OpenOffice.org 论坛 :: 简单的命令行问题
- OpenOffice.org 论坛 :: 如何从命令行管理程序运行文档中的宏
作为旁注,标准Module1
文件可以在(在Linux上)中找到:
~/.openoffice.org/3/user/basic/Standard/Module1.xba
~/.libreoffice/3/user/basic/Standard/Module1.xba
请注意,.xba 实际上是一个 XML 文件,其中包含基本宏源,如下所示:
<?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 的存储位置,并在那里更改它们的代码(如果只需要命令行用法)......
也许使用 Python - OpenOffice.org Wiki 是外部脚本的更开放的方法 - 但它需要您将 openoffice 作为服务器启动......