Difference between revisions of "ExcelAutomation2007plus/de"

From Lazarus wiki
Jump to navigationJump to search
m (Fixed syntax highlighting)
 
Line 7: Line 7:
 
=Excel 2007=
 
=Excel 2007=
 
==Speicherplatz reservieren==
 
==Speicherplatz reservieren==
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
var
 
var
 
   varXLApp: oleVariant;      // wird für die Adressierung des Programms Excel verwedet
 
   varXLApp: oleVariant;      // wird für die Adressierung des Programms Excel verwedet
Line 15: Line 15:
 
<br>
 
<br>
 
==Excel OleObjekt erstellen==
 
==Excel OleObjekt erstellen==
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
begin
 
begin
 
   ...
 
   ...
Line 28: Line 28:
 
<br>
 
<br>
 
==Excel beenden und den Speicher freigeben==
 
==Excel beenden und den Speicher freigeben==
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
begin
 
begin
 
   ...
 
   ...
Line 38: Line 38:
 
<br>
 
<br>
 
==Excel Version ermitteln==
 
==Excel Version ermitteln==
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
begin
 
begin
 
   ...
 
   ...
Line 48: Line 48:
 
==Fehlermeldungen und Warnungen deaktivieren==
 
==Fehlermeldungen und Warnungen deaktivieren==
 
Das Dekativieren von bestimmten Fehlermeldungen und Warnungen kann die Softwaresteuerung vereinfachen.
 
Das Dekativieren von bestimmten Fehlermeldungen und Warnungen kann die Softwaresteuerung vereinfachen.
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
begin
 
begin
 
   ...
 
   ...
Line 58: Line 58:
 
==Sichtbarkeit von Excel steuern==
 
==Sichtbarkeit von Excel steuern==
 
Wenn das Screenupdating während der Automation auf False gesetzt wird, dann wird dadurch das Flackern des Bildschirms während der Automation verhindert.
 
Wenn das Screenupdating während der Automation auf False gesetzt wird, dann wird dadurch das Flackern des Bildschirms während der Automation verhindert.
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
begin
 
begin
 
   ...
 
   ...
Line 74: Line 74:
 
==Workbook (Datei) einfügen==
 
==Workbook (Datei) einfügen==
 
Erstellt eine neue Datei.
 
Erstellt eine neue Datei.
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
begin
 
begin
 
   ...
 
   ...
Line 83: Line 83:
 
<br>
 
<br>
 
==Workbook speichern==
 
==Workbook speichern==
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
begin
 
begin
 
   ...
 
   ...
Line 93: Line 93:
 
<br>
 
<br>
 
==Workbook unter neuem Namen speichern==
 
==Workbook unter neuem Namen speichern==
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
begin
 
begin
 
   ...
 
   ...
Line 102: Line 102:
 
<br>
 
<br>
 
==Workbook schliessen==
 
==Workbook schliessen==
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
begin
 
begin
 
   ...
 
   ...
Line 111: Line 111:
 
<br>
 
<br>
 
==Workbook einen Bereich benennen==
 
==Workbook einen Bereich benennen==
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
begin
 
begin
 
   ...
 
   ...
Line 122: Line 122:
 
<br>
 
<br>
 
==Worksheet einfügen==
 
==Worksheet einfügen==
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
begin
 
begin
 
   ...
 
   ...
Line 131: Line 131:
 
<br>
 
<br>
 
==Worksheet einen Bereich benennen==
 
==Worksheet einen Bereich benennen==
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
begin
 
begin
 
   ...
 
   ...
Line 142: Line 142:
 
<br>
 
<br>
 
===Wert einfügen===
 
===Wert einfügen===
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
begin
 
begin
 
   ...
 
   ...
Line 152: Line 152:
 
=Charts erstellen=
 
=Charts erstellen=
 
==Chart Speicher reservieren==
 
==Chart Speicher reservieren==
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
var
 
var
 
   varDiagramm: OleVariant;
 
   varDiagramm: OleVariant;
Line 158: Line 158:
 
<br>
 
<br>
 
==Chart Speicher freigeben==
 
==Chart Speicher freigeben==
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
begin
 
begin
 
   ...
 
   ...
Line 167: Line 167:
 
<br>
 
<br>
 
==Chart aktivieren==
 
==Chart aktivieren==
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
begin
 
begin
 
   ...
 
   ...
Line 176: Line 176:
 
<br>
 
<br>
 
==Chart Diagramtyp festlegen==
 
==Chart Diagramtyp festlegen==
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
begin
 
begin
 
   ...
 
   ...
Line 185: Line 185:
 
<br>
 
<br>
 
==Chart Datenherkunft (Datenquelle) festlegen==
 
==Chart Datenherkunft (Datenquelle) festlegen==
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
begin
 
begin
 
   ...
 
   ...
Line 196: Line 196:
 
<br>
 
<br>
 
==Chart Titel==
 
==Chart Titel==
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
begin
 
begin
 
   ...
 
   ...
Line 212: Line 212:
 
<br>
 
<br>
 
==Chart Legende==
 
==Chart Legende==
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
begin
 
begin
 
   ...
 
   ...
Line 222: Line 222:
 
<br>
 
<br>
 
==Chart Achsenbeschriftung==
 
==Chart Achsenbeschriftung==
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
begin
 
begin
 
   ...
 
   ...
Line 236: Line 236:
 
<br>
 
<br>
 
==Chart Kategorie==
 
==Chart Kategorie==
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
begin
 
begin
 
   ...
 
   ...
Line 250: Line 250:
 
<br>
 
<br>
 
==Verschiebt das Chart in ein Worksheet==
 
==Verschiebt das Chart in ein Worksheet==
<syntaxhighlight>
+
<syntaxhighlight lang=pascal>
 
begin
 
begin
 
   ...
 
   ...
Line 257: Line 257:
 
end;
 
end;
 
</syntaxhighlight>
 
</syntaxhighlight>
<br>
+
 
<br>
 
--[[User:Olaf|Olaf]] 09:26, 1 January 2013 (UTC)
 
 
[[Category:Tutorials/de]]
 
[[Category:Tutorials/de]]

Latest revision as of 14:04, 14 February 2020

Deutsch (de)
Zurück zur Office Automation.


Excel 2007

Speicherplatz reservieren

var
  varXLApp: oleVariant;      // wird für die Adressierung des Programms Excel verwedet
  varXLWb: oleVariant;       // wird für die Adressierung des Exceldatei verwendet
  wstrUebergabe: WideString; // Hilfsvariable (wird z. B. für Umlaute usw. benötigt)


Excel OleObjekt erstellen

begin
   ...
   try
     varXLApp := CreateOleObject('Excel.Application');  // erstellt das Excelobjekt
   except
     WriteLn('MS Excel kann nicht gestartet werden.');  // Fehlerbehandlung
   end;
   ...
end;


Excel beenden und den Speicher freigeben

begin
   ...
   varXLApp.Quit;
   varXLApp := UnAssigned; //Der Speicher muss am Ende wieder freigegeben werden, sonst entstehen Speicherlecks
   ...
end;


Excel Version ermitteln

begin
  ...
  ShowMessage(varXLApp.Version);
  ...
end;


Fehlermeldungen und Warnungen deaktivieren

Das Dekativieren von bestimmten Fehlermeldungen und Warnungen kann die Softwaresteuerung vereinfachen.

begin
   ...
   varXLApp.DisplayAlerts := False;   // schaltet diverse Fehlermeldungen von Excel aus
   ...
end;


Sichtbarkeit von Excel steuern

Wenn das Screenupdating während der Automation auf False gesetzt wird, dann wird dadurch das Flackern des Bildschirms während der Automation verhindert.

begin
   ...
   varXLApp.Visible := False;         // macht Excel unsichtbar
   varXLApp.ScreenUpdating := False;  // schaltet das ScreenUpdating von Excel aus

   varXLApp.ScreenUpdating := True;   // schaltet das ScreenUpdating von Excel ein
   varXLApp.Visible := True;          // macht Excel sichtbar
   ...
end;


Workbooks


Workbook (Datei) einfügen

Erstellt eine neue Datei.

begin
   ...
   varXLApp.Workbooks.Add;               // fügt ein neues Workbook ein
   ...
end;


Workbook speichern

begin
   ...
   varXLApp.Workbooks[1].Save;           // speichert ein Worksheet über seinen Index
   varXLApp.Workbooks['Test.xls'].Save;  // speicher ein Worksheet über seinen Namen
   ...
end;


Workbook unter neuem Namen speichern

begin
   ...
   varXLApp.Workbooks[1].SaveAs('D:\Test.xls', varXLApp.Workbooks[1].fileformat);
   ...
end;


Workbook schliessen

begin
   ...
   varXLApp.Workbooks[1].Close;
   ...
end;


Workbook einen Bereich benennen

begin
   ...
   varXLApp.Workbooks[1].Names.Add('kmh', '=Tabelle1!$E$14');
   ...
end;


Worksheet


Worksheet einfügen

begin
   ...
   varXLApp.WorkBooks[1].WorkSheets.Add; //fügt ein neues WorkSheet hinzu
   ...
end;


Worksheet einen Bereich benennen

begin
   ...
   varXLApp.Workbooks[1].WorkSheets[1].Names.Add('kmh', '=Tabelle1!$E$14');
   ...
end;


Zellen und Ranges


Wert einfügen

begin
  ...
  varXLApp.Workbooks[1].WorkSheets[1].Range['E14'].Value := 4;
  ...
end;


Charts erstellen

Chart Speicher reservieren

var
   varDiagramm: OleVariant;


Chart Speicher freigeben

begin
   ...
   varDiagramm := UnAssigned;
   ...
end;


Chart aktivieren

begin
   ...
   varDiagramm.Activate; // Aktiviert das Chart
   ...
end;


Chart Diagramtyp festlegen

begin
   ...
   varDiagramm.ChartType := xlColumnClustered; // Legt den Diagramtyp fest
   ...
end;


Chart Datenherkunft (Datenquelle) festlegen

begin
   ...
   // Legt die Datenherkunft (das Excelsheet und den Bereich im Excelsheet) fest
   varDiagramm.SetSourceData (Source := varXLApp.WorkSheets['Tabelle1'].Range['A1:E13'],
                           PlotBy := xlColumns);
   ...
end;


Chart Titel

begin
   ...
   // Legt fest, dass das Chart einen Titel haben darf
   varXLApp.Workbooks[1].ActiveChart.HasTitle := True;

   // Legt den Namen des Chart Titels fest
   varXLApp.Workbooks[1].ActiveChart.ChartTitle.Text := 'Diagnose';

   // Legt die Hintergrundschriftfarbe des Chart Titels fest
   varXLApp.Workbooks[1].ActiveChart.ChartTitle.Interior.Color := vbGreen;
   ...
end;


Chart Legende

begin
  ...
  //Legt die Beschriftung des ersten Elements der Chartlegende fest
  varXLApp.Workbooks[1].ActiveChart.SeriesCollection(1).Name := '="Eins"';
   ...
end;


Chart Achsenbeschriftung

begin
  ...
  // Legt fest, das die Achse eine Beschriftung hat
  varXLApp.Workbooks[1].ActiveChart.Axes(xlValue).HasTitle:= True;
  // Ermöglicht das Schreiben des Eurozeichens
  wstrUebergabe := UTF8ToUTF16('€');
  varXLApp.Workbooks[1].ActiveChart.Axes[xlValue].AxisTitle
    .Characters.Text := wstrUebergabe;
   ...
end;


Chart Kategorie

begin
  ...
  // Legt fest, dass die Chart Kategorie einen Titel hat
  varXLApp.Workbooks[1].ActiveChart.Axes(xlCategory, xlPrimary).HasTitle := True;
  // Legt den Namen der Chart Kategorie fest
  varXLApp.Workbooks[1].ActiveChart.Axes(xlCategory, xlPrimary).AxisTitle.Text := 'Jahre';
  // Legt die Schriftfarbe der Chart Kategorie fest
  varXLApp.Workbooks[1].ActiveChart.Axes[xlCategory].TickLabels.Font.Color:= vbBlue;
   ...
end;


Verschiebt das Chart in ein Worksheet

begin
  ...
  varDiagramm.Location (Where:= xlLocationAsObject, Name:= 'Tabelle1');
  ...
end;