OOo ObjectModel

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

7winfried.schmidt7
Beiträge: 3
Registriert: Mo, 08.08.2011 15:27

OOo ObjectModel

Beitrag von 7winfried.schmidt7 »

Habe für EXCEL einen Funktionenkatalog in C++ erstellt. Und zwar über das Object Model (Application/Workbook/Worksheet/Range) via COM (atlcom.h) Schnittstelle.

Das würde ich gern auf OOo übertragen. Leider ist dort das Object Model völlig anders. Kann mir da jemand weiterhelfen?

den ersten Schritt hab ich noch irgendwie googlemäßig gefunden

CLSID clsidExcelApplication, clsidOOoApplication;
HRESULT hr = CLSIDFromProgID(L"Excel.Application", &clsidExcelApplication);

ersetzen durch:

HRESULT hr = CLSIDFromProgID(L"com.sun.star.ServiceManager", &clsidOOoApplication);

IDispatchPtr spIOOoApp;

hr = CoCreateInstance(clsidOOoApplication, NULL, CLSCTX_SERVER,
IID_IDispatch, (void **) (IDispatch *) &spIOOoApp);

klappt dann auch noch, aber schon

CComDispatchDriver spDispOOo(spIOOoApp);

// Beschaffen der Workbooks - Collection:
DISPID dispidWorkbooks = 0;
hr = spDispOOo.GetIDOfName(L"Workbooks", &dispidWorkbooks);

gibt ne Fehlermeldung, und danach geht nix mehr!