Не совсем ответ - вместо этого просто комментарий, чтобы поднять этот вопрос и, надеюсь, получить ответ :)
Возможно, это связано с необходимостью явно устанавливать разрешения для макросов, например:
Невозможно выполнить макрос из командной строки (Просмотр темы) • Форум сообщества 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 как сервер ...