Как вставить электронную таблицу (ODS или XLSX) в текстовый документ (ODT или DOCX) через API - PullRequest
1 голос
/ 01 апреля 2019

У меня есть текстовый документ (ODT или DOCX) и электронная таблица (ODS или XLSX). Я использую LibreOffice API (в Java), чтобы открыть этот документ.

Я хочу вставить электронную таблицу в текстовый документ как внедренный объект. Я могу сделать это вручную (через GUI LibreOffice Writer - меню Insert \ Object \ OLE Object), но мне это нужно через API. Постскриптум Официальная документация по API LibreOffice (OpenOffice) очень плохая. В этой очень интересной статье http://fivedots.coe.psu.ac.th/~ad/jlop/ эта информация не найдена.

1 Ответ

0 голосов
/ 10 апреля 2019

Следующий базовый код задан в https://ask.libreoffice.org/en/question/76781/create-macro-to-insert-and-link-a-ole-spreadsheet/:

Sub oleexample
    oDoc = ThisComponent
    txt=oDoc.getText
    obj = oDoc.createInstance("com.sun.star.text.TextEmbeddedObject")
    obj.CLSID = "47BBB4CB-CE4C-4E80-a591-42d9ae74950f"
    obj.attach(ThisComponent.currentController().Selection.getByIndex(0))
    oXEO = obj.ExtendedControlOverEmbeddedObject
    oXEO.doVerb(0)
End Sub

Также есть пример в https://forum.openoffice.org/en/forum/viewtopic.php?f=45&t=14342, который встраивает объект Math.

...