CalcAutomation/de
From Lazarus wiki
Jump to navigationJump to search
│
Deutsch (de) │
Calc
Aufbau einer Steuerung für die Anwendung Calc
Beispiel unter Verwendung eines neuen Sheets
...
var
// Reservieren des Speichers
varCLApp: OleVariant;
varDesktop: OleVariant;
varSheets: OleVariant;
varSheet1: OleVariant;
varDokument: OleVariant;
varLoadParams: OleVariant;
begin
// Erstellt das OleObjekt und erstellt den Zeiger darauf
varCLApp := CreateOleObject('com.sun.star.ServiceManager');
// Erstellt den Zeiger auf den Officedesktop
varDesktop := varCLApp.createInstance('com.sun.star.frame.Desktop');
// Erstellt ein leeres Array das für die Dokumentenerstellung benötigt wird
varLoadParams := VarArrayCreate([0, -1], varVariant);
// Erstellt ein neues (leeres) Dokument (Workbook) und den Zeiger darauf
varDokument := varDesktop.LoadComponentFromURL('private:factory/scalc','_blank',0, varLoadParams);
// Erstellt den Zeiger auf die Sheets
varSheets := varDokument.getSheets();
// Erstellt den Zeiger auf ein einzelnes Sheet
varSheet1 := varSheets.getByIndex(0);
// Schreibt in einen Bereich einen Wert
//Achtung: der Begriff Bereich wird hier nur für eine einzelne Zelle verwendet
varSheet1.getCellRangeByName('A1').setString('Txt 1');
// schreibt in eine Zelle einen Wert
varSheet1.getCellByPosition(2,4).setString('Txt 2');
// Speichern des Dokumentes unter einem neuen Namen
varDokument.storeAsURL('file:///D:/test.ods', varLoadParams);
varDokument.close(True);
varDesktop.terminate; //Beendet die Anwendung
// Freigabe des Speichers
varCLApp := UnAssigned;
varDesktop := UnAssigned;
varSheets := UnAssigned;
varSheet1 := UnAssigned;
varDokument := UnAssigned;
varLoadParams := UnAssigned;
end;
--Olaf 12:34, 3 October 2012 (UTC)