Извлечь макрос из документа Office с помощью pyUNO
У меня есть документ Microsoft Word со встроенным макросом. Мне удалось загрузить документ, используя этот пример. Загрузка документа в OpenOffice с помощью внешней программы Python.
Сейчас я пытаюсь получить код макроса из моего документа, но не могу понять, как это сделать. Я наткнулся на интерфейс, который, вероятно, можно использовать ( http://www.openoffice.org/api/docs/common/ref/com/sun/star/document/XEmbeddedScripts.html), хотя мне не ясно, как использовать это в Python.
Так как же извлечь текст макроса из документа с помощью Python UNO?
1 ответ
Какую версию LO вы используете? Обычно я бы сделал что-то вроде
doc = desktop.loadComponentFromURL(url, "_blank", 0, () )
# the Basic Script Library/Libraries
the_basic_libs = doc.BasicLibraries
if the_basic_libs.hasElements():
the_standard = the_basic_libs.getByName("Standard")
the_one = the_standard.getByName("Module1")
print(the_one)
Но моя версия (LO 4.1.3.2) дает мне "нет такого исключения элемента", хотя я могу видеть и получить доступ к элементу с помощью MRI (или GUI).
Может быть, ошибка в LO, uno ... или тот факт, что мы тестируем с *.doc