Difference between revisions of "CalcAutomation/de"
From Lazarus wiki
Jump to navigationJump to searchm |
|||
Line 36: | Line 36: | ||
varSheet1 := varSheets.getByIndex(0); | varSheet1 := varSheets.getByIndex(0); | ||
− | + | ... | |
− | |||
− | |||
− | |||
− | |||
− | |||
// Speichert das Dokument unter einem neuen Namen | // Speichert das Dokument unter einem neuen Namen | ||
Line 87: | Line 82: | ||
varSheet1 := varSheets.getByIndex(0); | varSheet1 := varSheets.getByIndex(0); | ||
− | + | ... | |
− | |||
// Speichert die Datei unter ihrem aktuellen Namen | // Speichert die Datei unter ihrem aktuellen Namen | ||
Line 103: | Line 97: | ||
end; | end; | ||
+ | </syntaxhighlight> | ||
+ | <br> | ||
+ | ==Zellen adressieren== | ||
+ | Beide Adressierungsmethoden sprechen die selbe Zelle an und liefern damit das selbe Ergebnis<br> | ||
+ | <syntaxhighlight> | ||
+ | ... | ||
+ | // schreibt den Wert in die Zelle deren Namen angeben wird | ||
+ | varSheet1.getCellRangeByName('A1').setString('Txt 1'); // Schreibt in einen Bereich (eine Zelle) einen Wert | ||
+ | // schreibt in eine Zelle einen Wert | ||
+ | // die Zählung der Zellen begint bei (0,0) | ||
+ | // die Schreibweise lautet (Spalte, Zeile) | ||
+ | varSheet1.getCellByPosition(0,0).setString('Txt 1'); | ||
+ | ... | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<br> | <br> |
Revision as of 11:33, 6 October 2012
│
Deutsch (de) │
Zurück zur Office Automation.
Calc
Aufbau einer Steuerung für die Anwendung Calc
Erstellen eines neuen Sheets und speichern unter einem neuen Namen
...
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 setzt 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);
...
// Speichert das Dokument unter einem neuen Namen
varDokument.storeAsURL('file:///D:/test.ods', varLoadParams);
// Schliesst das Dokument
varDokument.close(True);
//Beendet die Anwendung
varDesktop.terminate;
// Freigabe des Speichers
varCLApp := UnAssigned;
varDesktop := UnAssigned;
varSheets := UnAssigned;
varSheet1 := UnAssigned;
varDokument := UnAssigned;
varLoadParams := UnAssigned;
end;
Öffnen eines vorhandenen Sheets und speichern des Sheets
...
var
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);
// Öffnet ein vorhandenes Dokument (Workbook) und setzt den Zeiger darauf
varDokument := varDesktop.LoadComponentFromURL('file:///D:/TestDatei.ods','_blank',0, varLoadParams);
// Erstellt den Zeiger auf die Sheets
varSheets := varDokument.getSheets();
// Erstellt den Zeiger auf ein einzelnes Sheet
varSheet1 := varSheets.getByIndex(0);
...
// Speichert die Datei unter ihrem aktuellen Namen
varDokument.store;
varDokument.close(True);
varDesktop.terminate; //Beendet die Anwendung
varCLApp := UnAssigned;
varDesktop := UnAssigned;
varSheets := UnAssigned;
varSheet1 := UnAssigned;
varDokument := UnAssigned;
varLoadParams := UnAssigned;
end;
Zellen adressieren
Beide Adressierungsmethoden sprechen die selbe Zelle an und liefern damit das selbe Ergebnis
...
// schreibt den Wert in die Zelle deren Namen angeben wird
varSheet1.getCellRangeByName('A1').setString('Txt 1'); // Schreibt in einen Bereich (eine Zelle) einen Wert
// schreibt in eine Zelle einen Wert
// die Zählung der Zellen begint bei (0,0)
// die Schreibweise lautet (Spalte, Zeile)
varSheet1.getCellByPosition(0,0).setString('Txt 1');
...
--Olaf 06:40, 6 October 2012 (UTC)