Sign in Join
Wiki copytemporary

ExcelAutomation2007plus/de: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: ExcelAutomation2007plus/de

OldNewLine
1+\
2+Zurück zur [[Office Automation/de|Office Automation]].\
3+\
4+\
5+=Excel 2007=
6+
7+## Speicherplatz reservieren
8+
9+``` pascal
10+var
11+ varXLApp: oleVariant; // wird für die Adressierung des Programms Excel verwedet
12+ varXLWb: oleVariant; // wird für die Adressierung des Exceldatei verwendet
13+ wstrUebergabe: WideString; // Hilfsvariable (wird z. B. für Umlaute usw. benötigt)
14+```
15+
16+\
17+==Excel OleObjekt erstellen==
18+
19+``` pascal
20+begin
21+ ...
22+ try
23+ varXLApp := CreateOleObject('Excel.Application'); // erstellt das Excelobjekt
24+ except
25+ WriteLn('MS Excel kann nicht gestartet werden.'); // Fehlerbehandlung
26+ end;
27+ ...
28+end;
29+```
30+
31+\
32+==Excel beenden und den Speicher freigeben==
33+
34+``` pascal
35+begin
36+ ...
37+ varXLApp.Quit;
38+ varXLApp := UnAssigned; //Der Speicher muss am Ende wieder freigegeben werden, sonst entstehen Speicherlecks
39+ ...
40+end;
41+```
42+
43+\
44+==Excel Version ermitteln==
45+
46+``` pascal
47+begin
48+ ...
49+ ShowMessage(varXLApp.Version);
50+ ...
51+end;
52+```
53+
54+\
55+==Fehlermeldungen und Warnungen deaktivieren== Das Dekativieren von bestimmten Fehlermeldungen und Warnungen kann die Softwaresteuerung vereinfachen.
56+
57+``` pascal
58+begin
59+ ...
60+ varXLApp.DisplayAlerts := False; // schaltet diverse Fehlermeldungen von Excel aus
61+ ...
62+end;
63+```
64+
65+\
66+==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.
67+
68+``` pascal
69+begin
70+ ...
71+ varXLApp.Visible := False; // macht Excel unsichtbar
72+ varXLApp.ScreenUpdating := False; // schaltet das ScreenUpdating von Excel aus
73+
74+ varXLApp.ScreenUpdating := True; // schaltet das ScreenUpdating von Excel ein
75+ varXLApp.Visible := True; // macht Excel sichtbar
76+ ...
77+end;
78+```
79+
80+\
81+=Workbooks=\
82+==Workbook (Datei) einfügen== Erstellt eine neue Datei.
83+
84+``` pascal
85+begin
86+ ...
87+ varXLApp.Workbooks.Add; // fügt ein neues Workbook ein
88+ ...
89+end;
90+```
91+
92+\
93+==Workbook speichern==
94+
95+``` pascal
96+begin
97+ ...
98+ varXLApp.Workbooks[1].Save; // speichert ein Worksheet über seinen Index
99+ varXLApp.Workbooks['Test.xls'].Save; // speicher ein Worksheet über seinen Namen
100+ ...
101+end;
102+```
103+
104+\
105+==Workbook unter neuem Namen speichern==
106+
107+``` pascal
108+begin
109+ ...
110+ varXLApp.Workbooks[1].SaveAs('D:\Test.xls', varXLApp.Workbooks[1].fileformat);
111+ ...
112+end;
113+```
114+
115+\
116+==Workbook schliessen==
117+
118+``` pascal
119+begin
120+ ...
121+ varXLApp.Workbooks[1].Close;
122+ ...
123+end;
124+```
125+
126+\
127+==Workbook einen Bereich benennen==
128+
129+``` pascal
130+begin
131+ ...
132+ varXLApp.Workbooks[1].Names.Add('kmh', '=Tabelle1!$E$14');
133+ ...
134+end;
135+```
136+
137+\
138+=Worksheet=\
139+==Worksheet einfügen==
140+
141+``` pascal
142+begin
143+ ...
144+ varXLApp.WorkBooks[1].WorkSheets.Add; //fügt ein neues WorkSheet hinzu
145+ ...
146+end;
147+```
148+
149+\
150+==Worksheet einen Bereich benennen==
151+
152+``` pascal
153+begin
154+ ...
155+ varXLApp.Workbooks[1].WorkSheets[1].Names.Add('kmh', '=Tabelle1!$E$14');
156+ ...
157+end;
158+```
159+
160+\
161+==Zellen und Ranges==\
162+===Wert einfügen===
163+
164+``` pascal
165+begin
166+ ...
167+ varXLApp.Workbooks[1].WorkSheets[1].Range['E14'].Value := 4;
168+ ...
169+end;
170+```
171+
172+\
173+=Charts erstellen=
174+
175+## Chart Speicher reservieren
176+
177+``` pascal
178+var
179+ varDiagramm: OleVariant;
180+```
181+
182+\
183+==Chart Speicher freigeben==
184+
185+``` pascal
186+begin
187+ ...
188+ varDiagramm := UnAssigned;
189+ ...
190+end;
191+```
192+
193+\
194+==Chart aktivieren==
195+
196+``` pascal
197+begin
198+ ...
199+ varDiagramm.Activate; // Aktiviert das Chart
200+ ...
201+end;
202+```
203+
204+\
205+==Chart Diagramtyp festlegen==
206+
207+``` pascal
208+begin
209+ ...
210+ varDiagramm.ChartType := xlColumnClustered; // Legt den Diagramtyp fest
211+ ...
212+end;
213+```
214+
215+\
216+==Chart Datenherkunft (Datenquelle) festlegen==
217+
218+``` pascal
219+begin
220+ ...
221+ // Legt die Datenherkunft (das Excelsheet und den Bereich im Excelsheet) fest
222+ varDiagramm.SetSourceData (Source := varXLApp.WorkSheets['Tabelle1'].Range['A1:E13'],
223+ PlotBy := xlColumns);
224+ ...
225+end;
226+```
227+
228+\
229+==Chart Titel==
230+
231+``` pascal
232+begin
233+ ...
234+ // Legt fest, dass das Chart einen Titel haben darf
235+ varXLApp.Workbooks[1].ActiveChart.HasTitle := True;
236+
237+ // Legt den Namen des Chart Titels fest
238+ varXLApp.Workbooks[1].ActiveChart.ChartTitle.Text := 'Diagnose';
239+
240+ // Legt die Hintergrundschriftfarbe des Chart Titels fest
241+ varXLApp.Workbooks[1].ActiveChart.ChartTitle.Interior.Color := vbGreen;
242+ ...
243+end;
244+```
245+
246+\
247+==Chart Legende==
248+
249+``` pascal
250+begin
251+ ...
252+ //Legt die Beschriftung des ersten Elements der Chartlegende fest
253+ varXLApp.Workbooks[1].ActiveChart.SeriesCollection(1).Name := '="Eins"';
254+ ...
255+end;
256+```
257+
258+\
259+==Chart Achsenbeschriftung==
260+
261+``` pascal
262+begin
263+ ...
264+ // Legt fest, das die Achse eine Beschriftung hat
265+ varXLApp.Workbooks[1].ActiveChart.Axes(xlValue).HasTitle:= True;
266+ // Ermöglicht das Schreiben des Eurozeichens
267+ wstrUebergabe := UTF8ToUTF16('€');
268+ varXLApp.Workbooks[1].ActiveChart.Axes[xlValue].AxisTitle
269+ .Characters.Text := wstrUebergabe;
270+ ...
271+end;
272+```
273+
274+\
275+==Chart Kategorie==
276+
277+``` pascal
278+begin
279+ ...
280+ // Legt fest, dass die Chart Kategorie einen Titel hat
281+ varXLApp.Workbooks[1].ActiveChart.Axes(xlCategory, xlPrimary).HasTitle := True;
282+ // Legt den Namen der Chart Kategorie fest
283+ varXLApp.Workbooks[1].ActiveChart.Axes(xlCategory, xlPrimary).AxisTitle.Text := 'Jahre';
284+ // Legt die Schriftfarbe der Chart Kategorie fest
285+ varXLApp.Workbooks[1].ActiveChart.Axes[xlCategory].TickLabels.Font.Color:= vbBlue;
286+ ...
287+end;
288+```
289+
290+\
291+==Verschiebt das Chart in ein Worksheet==
292+
293+``` pascal
294+begin
295+ ...
296+ varDiagramm.Location (Where:= xlLocationAsObject, Name:= 'Tabelle1');
297+ ...
298+end;
299+```
300+
301+---
302+*From the Free Pascal wiki, page "ExcelAutomation2007plus/de", as it stood on 2020-02-14 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
303+Category: Tutorials/de

Back to history