Sign in Join
Wiki copytemporary

ExcelAutomation2007plus/de: what changed

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

OldNewLine
1-\
21Zurück zur [[Office Automation/de|Office Automation]].\
3-\
4-\
2+
53=Excel 2007=
64
75## Speicherplatz reservieren
86
97``` pascal
108var
119 varXLApp: oleVariant; // wird für die Adressierung des Programms Excel verwedet
1210 varXLWb: oleVariant; // wird für die Adressierung des Exceldatei verwendet
1311 wstrUebergabe: WideString; // Hilfsvariable (wird z. B. für Umlaute usw. benötigt)
1412```
1513
16-\
1714==Excel OleObjekt erstellen==
1815
1916``` pascal
2017begin
2118 ...
2219 try
2320 varXLApp := CreateOleObject('Excel.Application'); // erstellt das Excelobjekt
2421 except
2522 WriteLn('MS Excel kann nicht gestartet werden.'); // Fehlerbehandlung
2623 end;
2724 ...
2825end;
2926```
3027
31-\
3228==Excel beenden und den Speicher freigeben==
3329
3430``` pascal
3531begin
3632 ...
3733 varXLApp.Quit;
3834 varXLApp := UnAssigned; //Der Speicher muss am Ende wieder freigegeben werden, sonst entstehen Speicherlecks
3935 ...
4036end;
4137```
4238
43-\
4439==Excel Version ermitteln==
4540
4641``` pascal
4742begin
4843 ...
4944 ShowMessage(varXLApp.Version);
5045 ...
5146end;
5247```
5348
54-\
5549==Fehlermeldungen und Warnungen deaktivieren== Das Dekativieren von bestimmten Fehlermeldungen und Warnungen kann die Softwaresteuerung vereinfachen.
5650
5751``` pascal
5852begin
5953 ...
6054 varXLApp.DisplayAlerts := False; // schaltet diverse Fehlermeldungen von Excel aus
6155 ...
6256end;
6357```
6458
65-\
6659==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.
6760
6861``` pascal
6962begin
7063 ...
7164 varXLApp.Visible := False; // macht Excel unsichtbar
7265 varXLApp.ScreenUpdating := False; // schaltet das ScreenUpdating von Excel aus
7366
7467 varXLApp.ScreenUpdating := True; // schaltet das ScreenUpdating von Excel ein
7568 varXLApp.Visible := True; // macht Excel sichtbar
7669 ...
7770end;
7871```
7972
80-\
8173=Workbooks=\
8274==Workbook (Datei) einfügen== Erstellt eine neue Datei.
8375
8476``` pascal
8577begin
8678 ...
8779 varXLApp.Workbooks.Add; // fügt ein neues Workbook ein
8880 ...
8981end;
9082```
9183
92-\
9384==Workbook speichern==
9485
9586``` pascal
9687begin
9788 ...
9889 varXLApp.Workbooks[1].Save; // speichert ein Worksheet über seinen Index
9990 varXLApp.Workbooks['Test.xls'].Save; // speicher ein Worksheet über seinen Namen
10091 ...
10192end;
10293```
10394
104-\
10595==Workbook unter neuem Namen speichern==
10696
10797``` pascal
10898begin
10999 ...
110100 varXLApp.Workbooks[1].SaveAs('D:\Test.xls', varXLApp.Workbooks[1].fileformat);
111101 ...
112102end;
113103```
114104
115-\
116105==Workbook schliessen==
117106
118107``` pascal
119108begin
120109 ...
121110 varXLApp.Workbooks[1].Close;
122111 ...
123112end;
124113```
125114
126-\
127115==Workbook einen Bereich benennen==
128116
129117``` pascal
130118begin
131119 ...
132120 varXLApp.Workbooks[1].Names.Add('kmh', '=Tabelle1!$E$14');
133121 ...
134122end;
135123```
136124
137-\
138125=Worksheet=\
139126==Worksheet einfügen==
140127
141128``` pascal
142129begin
143130 ...
144131 varXLApp.WorkBooks[1].WorkSheets.Add; //fügt ein neues WorkSheet hinzu
145132 ...
146133end;
147134```
148135
149-\
150136==Worksheet einen Bereich benennen==
151137
152138``` pascal
153139begin
154140 ...
155141 varXLApp.Workbooks[1].WorkSheets[1].Names.Add('kmh', '=Tabelle1!$E$14');
156142 ...
157143end;
158144```
159145
160-\
161146==Zellen und Ranges==\
162147===Wert einfügen===
163148
164149``` pascal
165150begin
166151 ...
167152 varXLApp.Workbooks[1].WorkSheets[1].Range['E14'].Value := 4;
168153 ...
169154end;
170155```
171156
172-\
173157=Charts erstellen=
174158
175159## Chart Speicher reservieren
176160
177161``` pascal
178162var
179163 varDiagramm: OleVariant;
180164```
181165
182-\
183166==Chart Speicher freigeben==
184167
185168``` pascal
186169begin
187170 ...
188171 varDiagramm := UnAssigned;
189172 ...
190173end;
191174```
192175
193-\
194176==Chart aktivieren==
195177
196178``` pascal
197179begin
198180 ...
199181 varDiagramm.Activate; // Aktiviert das Chart
200182 ...
201183end;
202184```
203185
204-\
205186==Chart Diagramtyp festlegen==
206187
207188``` pascal
208189begin
209190 ...
210191 varDiagramm.ChartType := xlColumnClustered; // Legt den Diagramtyp fest
211192 ...
212193end;
213194```
214195
215-\
216196==Chart Datenherkunft (Datenquelle) festlegen==
217197
218198``` pascal
219199begin
220200 ...
221201 // Legt die Datenherkunft (das Excelsheet und den Bereich im Excelsheet) fest
222202 varDiagramm.SetSourceData (Source := varXLApp.WorkSheets['Tabelle1'].Range['A1:E13'],
223203 PlotBy := xlColumns);
224204 ...
225205end;
226206```
227207
228-\
229208==Chart Titel==
230209
231210``` pascal
232211begin
233212 ...
234213 // Legt fest, dass das Chart einen Titel haben darf
235214 varXLApp.Workbooks[1].ActiveChart.HasTitle := True;
236215
237216 // Legt den Namen des Chart Titels fest
238217 varXLApp.Workbooks[1].ActiveChart.ChartTitle.Text := 'Diagnose';
239218
240219 // Legt die Hintergrundschriftfarbe des Chart Titels fest
241220 varXLApp.Workbooks[1].ActiveChart.ChartTitle.Interior.Color := vbGreen;
242221 ...
243222end;
244223```
245224
246-\
247225==Chart Legende==
248226
249227``` pascal
250228begin
251229 ...
252230 //Legt die Beschriftung des ersten Elements der Chartlegende fest
253231 varXLApp.Workbooks[1].ActiveChart.SeriesCollection(1).Name := '="Eins"';
254232 ...
255233end;
256234```
257235
258-\
259236==Chart Achsenbeschriftung==
260237
261238``` pascal
262239begin
263240 ...
264241 // Legt fest, das die Achse eine Beschriftung hat
265242 varXLApp.Workbooks[1].ActiveChart.Axes(xlValue).HasTitle:= True;
266243 // Ermöglicht das Schreiben des Eurozeichens
267244 wstrUebergabe := UTF8ToUTF16('€');
268245 varXLApp.Workbooks[1].ActiveChart.Axes[xlValue].AxisTitle
269246 .Characters.Text := wstrUebergabe;
270247 ...
271248end;
272249```
273250
274-\
275251==Chart Kategorie==
276252
277253``` pascal
278254begin
279255 ...
280256 // Legt fest, dass die Chart Kategorie einen Titel hat
281257 varXLApp.Workbooks[1].ActiveChart.Axes(xlCategory, xlPrimary).HasTitle := True;
282258 // Legt den Namen der Chart Kategorie fest
283259 varXLApp.Workbooks[1].ActiveChart.Axes(xlCategory, xlPrimary).AxisTitle.Text := 'Jahre';
284260 // Legt die Schriftfarbe der Chart Kategorie fest
285261 varXLApp.Workbooks[1].ActiveChart.Axes[xlCategory].TickLabels.Font.Color:= vbBlue;
286262 ...
287263end;
288264```
289265
290-\
291266==Verschiebt das Chart in ein Worksheet==
292267
293268``` pascal
294269begin
295270 ...
296271 varDiagramm.Location (Where:= xlLocationAsObject, Name:= 'Tabelle1');
297272 ...
298273end;
299274```
300275
301276---
302277*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).*
303278Category: Tutorials/de

Back to history