Извлечь макрос из документа 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

Другие вопросы по тегам