API: Daten in Calc speichern
Verfasst: Mo, 27.07.2020 12:22
Ein freundliches Hallo an alle,
ich lese mit Pascal Daten aus einer Calc-Tabelle. Nun möchte ich auch Daten ändern und speichern.
Mit
öffne ich eine Tabelle und lese die Daten. Danach wird die Tabelle wieder geschlossen:
Nun möchte ich Daten ändern und in der Tabelle speichern. Dazu wird die Tabelle wie oben geöffnet und die geänderten Daten in die Zellen geschrieben. Beim Speichern gibt es bei "oFil.store(); eine Fehlermeldung, wenn ich aber "oFil.storeAsURL( oFil.Url, Par );" verwende funktioniert es!
Fehlt da noch irgend etwas? Hat jemand einen Tipp, warum das so ist???
Grüße von der Nordsee
Peter
ich lese mit Pascal Daten aus einer Calc-Tabelle. Nun möchte ich auch Daten ändern und speichern.
Mit
Code: Alles auswählen
Par := VarArrayCreate([0, 0], varVariant); // [lowest index, highest index]
oOpenOffice := CreateOleObject('com.sun.star.ServiceManager') ;
Par[0] := oOpenOffice.Bridge_GetStruct('com.sun.star.beans.PropertyValue') ;
Par[0].Name := 'Hidden' ;
Par[0].Value := True ;
oStarDesktop := oOpenOffice.createInstance('com.sun.star.frame.Desktop') ;
oFCP := oOpenOffice.createInstance('com.sun.star.ucb.FileContentProvider');
Path := oFCP.getFileURLFromSystemPath('', oFilNam) ;
oFil := oStarDesktop.loadComponentFromURL( Path, '_blank', 0, Par ) ;
oTab := oFil.Sheets.getByName( oShNam ) ;
Code: Alles auswählen
oFil.close(true) ;
oTab := unassigned;
oFil := unassigned;
oFCP := unassigned;
oDisp := unassigned;
if not VarIsEmpty( oStarDesktop ) then
oStarDesktop.terminate;
oStarDesktop := unassigned;
oOpenOffice := unassigned;
Fehlt da noch irgend etwas? Hat jemand einen Tipp, warum das so ist???
Grüße von der Nordsee
Peter