Sign in Join
Wiki copytemporary

ExcelAutomation/de: what changed

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

Title: ExcelAutomation/de

OldNewLine
1+\
2+Zurück zur [[Office Automation/de|Office Automation]].\
3+\
4+\
5+=Excel= Alle Möglichkeiten der Excelautomation aufzuzeigen ist nicht möglich ich hoffe aber für jeden Bedarf Anregungen gefunden zu haben.\
6+Excel ist zu dem die automatisierungsfreundlichste Software von Microsoft.\
7+Wenn Sie Umlaute usw. verwenden, dann sollten Sie wissen, dass Excel UTF16 codierte Strings verwendet.\
8+Für die Oleautomation muss die Unit **ComObj** eingebunden werden.\
9+Für die Verwendung von Umlauten usw. muss die Unit **lclproc** eingebunden werden.\
10+\
11+==Speicherplatz reservieren==
12+
13+``` pascal
14+var
15+ varXLApp: oleVariant; // wird für die Adressierung des Programms Excel verwedet
16+ varXLWb: oleVariant; // wird für die Adressierung des Exceldatei verwendet
17+ wstrUebergabe: WideString; // Hilfsvariable (wird z. B. für Umlaute usw. benötigt)
18+ wstrRange: WideString // Hilfsvariable für eine Range
19+```
20+
21+\
22+
23+## Excel OleObjekt erstellen
24+
25+``` pascal
26+uses
27+ comobj;
28+
29+begin
30+ ...
31+ try
32+ varXLApp := CreateOleObject('Excel.Application'); // erstellt das Excelobjekt
33+ except
34+ WriteLn('MS Excel kann nicht gestartet werden.'); // Fehlerbehandlung
35+ end;
36+ ...
37+end;
38+```
39+
40+\
41+
42+## Excel beenden und den Speicher freigeben
43+
44+``` pascal
45+begin
46+ ...
47+ varXLApp.Quit;
48+ varXLApp := UnAssigned; //Der Speicher muss am Ende wieder freigegeben werden, sonst entstehen Speicherlecks
49+ ...
50+end;
51+```
52+
53+\
54+==Excel Version ermitteln==
55+
56+``` pascal
57+begin
58+ ...
59+ ShowMessage(varXLApp.Version);
60+ ...
61+end;
62+```
63+
64+\
65+==Fehlermeldungen und Warnungen deaktivieren== Das Dekativieren von bestimmten Fehlermeldungen und Warnungen kann die Softwaresteuerung vereinfachen.
66+
67+``` pascal
68+begin
69+ ...
70+ varXLApp.DisplayAlerts := False; // schaltet diverse Fehlermeldungen von Excel aus
71+ ...
72+end;
73+```
74+
75+\
76+==Sichtbarkeit von Excel steuern== Für Excel 2003 und älter gilt, dass das Unterdrücken der Anzeige die Verarbeitungsgeschwindigkeit beschleunigt.\
77+Für alle Excelversionen gilt, dass es das das Flackern des Bildschirms verhindert.
78+
79+``` pascal
80+begin
81+ ...
82+ varXLApp.Visible := False; // macht Excel unsichtbar
83+ varXLApp.ScreenUpdating := False; // schaltet das ScreenUpdating von Excel aus
84+
85+ varXLApp.ScreenUpdating := True; // schaltet das ScreenUpdating von Excel ein
86+ varXLApp.Visible := True; // macht Excel sichtbar
87+ ...
88+end;
89+```
90+
91+\
92+
93+# Workbooks
94+
95+## Workbook (Datei) öffnen
96+
97+Öffnet eine vorhandene Datei.\
98+
99+``` pascal
100+begin
101+ ...
102+ varXLApp.Workbooks.Open(strPfad); // öffnet die Exceldatei (Pfad: maximal 255 Zeichen)
103+
104+ // Alternative:
105+ // öffnet ein vorhandenes Workbook (Exceldatei) und weist seine Speicheradresse
106+ // der Variablen varXLWb zu. Diese Variable ermöglicht eine kürzere Schreibweise
107+ // und eindeutige (direkte) Ansprache des Dokuments.
108+ // Das ist besonders dann hilfreich, wenn man mit mehreren Exceldateien gleichzeitig arbeitet.
109+ varXLWb := varXLApp.Workbooks.Open(strPfad);
110+ ...
111+end;
112+```
113+
114+\
115+==Workbook (Datei) einfügen== Erstellt eine neue Datei.\
116+
117+``` pascal
118+begin
119+ ...
120+ varXLApp.Workbooks.Add; // fügt ein neues Workbook ein
121+ ...
122+end;
123+```
124+
125+\
126+==Workbook speichern==
127+
128+``` pascal
129+begin
130+ ...
131+ varXLApp.Workbooks[1].Save; // speichert ein Worksheet über seinen Index
132+ varXLApp.Workbooks['Test.xls'].Save; // speicher ein Worksheet über seinen Namen
133+ ...
134+end;
135+```
136+
137+\
138+==Workbook unter neuem Namen speichern==
139+
140+``` pascal
141+begin
142+ ...
143+ varXLApp.Workbooks[1].SaveAs('D:\Test.xls', varXLApp.Workbooks[1].fileformat);
144+ ...
145+end;
146+```
147+
148+\
149+==Workbook schliessen==
150+
151+``` pascal
152+begin
153+ ...
154+ varXLApp.Workbooks[1].Close;
155+ ...
156+end;
157+```
158+
159+\
160+==Name des aktiven Workbooks ermitteln==
161+
162+``` pascal
163+var
164+ strName: String;
165+begin
166+ ...
167+ // Ausgabe am Bildschirm
168+ ShowMessage(varXLApp.ActiveWorkbook.Name);
169+ // Alternative:
170+ // speichern in einer Variable
171+ strName := varXLApp.ActiveWorkbook.Name;
172+ ...
173+end;
174+```
175+
176+\
177+
178+# Worksheets
179+
180+## Worksheet einfügen
181+
182+``` pascal
183+begin
184+ ...
185+ varXLApp.WorkBooks[1].WorkSheets.Add; //fügt ein neues WorkSheet hinzu
186+ ...
187+end;
188+```
189+
190+\
191+==Worksheet umbenennen==
192+
193+``` pascal
194+begin
195+ ...
196+ varXLApp.WorkBooks[1].WorkSheets[1].Name := 'Neuer Name'; // benennt ein Worksheet über seinen Index um
197+ varXLApp.WorkBooks[1].WorkSheets['Tabelle1'].Name := 'Neuer Name'; // benennt ein Worksheet über seinen Namen um
198+ ...
199+end;
200+```
201+
202+\
203+==Worksheet löschen==
204+
205+``` pascal
206+begin
207+ ...
208+ varXLApp.WorkBooks[1].WorkSheets[3].Delete; // löscht ein Worksheet über seinen Index
209+ varXLApp.WorkBooks[1].WorkSheets['Tabelle3'].Delete; // löscht ein Worksheet über seinen Namen
210+ ...
211+end;
212+```
213+
214+\
215+==Worksheet aktivieren==
216+
217+``` pascal
218+begin
219+ ...
220+ varXLApp.WorkBooks[1].WorkSheets['Tabelle1'].Activate;
221+ ...
222+end;
223+```
224+
225+\
226+==Hintergrundbild einfügen== Um ein Hintergrundbild in ein Worksheet einzufügen gibt es mehrere Möglichkeiten.\
227+
228+``` pascal
229+begin
230+ ...
231+ // Um das richtige Worksheet zu addressieren verwendet man den Index von Workbook und Worksheet
232+ varXLApp.WorkBooks[1].WorkSheets[1].SetBackGroundPicture('D:\Testbild.JPG');
233+ // Alternative
234+ // Um das richtige Worksheet zu addressieren verwendet man die Namen von Workbook und Worksheet
235+ varXLApp.WorkBooks['Test.xls'].WorkSheets['Tabelle2'].SetBackGroundPicture('D:\Testbild.JPG');
236+ ...
237+end;
238+```
239+
240+\
241+
242+# Zeilen und Spalten
243+
244+## Zeilenbreite und Spaltenhöhe setzen
245+
246+``` pascal
247+begin
248+ ...
249+ // Setzt die Spaltenbreite für Spalte 1
250+ varXLApp.WorkBooks[1].WorkSheets[1].Columns.Columns[1].ColumnWidth := 70;
251+ // oder
252+ varXLApp.WorkBooks[1].WorkSheets['Tabelle1'].Columns.Columns[1].ColumnWidth := 70;
253+
254+ // Setzt die Spaltenhöhe für Zeile 1
255+ varXLApp.WorkBooks[1].WorkSheets[1].Rows.Rows[1].RowHeight := 60;
256+ // oder
257+ varXLApp.WorkBooks[1].WorkSheets['Tabelle1'].Rows.Rows[1].RowHeight := 60;
258+ ...
259+end;
260+```
261+
262+\
263+==Zeilen löschen==
264+
265+``` pascal
266+begin
267+ ...
268+ // Löscht die Zeilen 8 bis 10 und verschiebt die darunter liegenden Zeilen nach oben
269+ varXLWb.Worksheets['Tabelle2'].Rows['8:10'].Delete (xlUp);
270+ ...
271+end;
272+```
273+
274+\
275+
276+# Zellen und Ranges
277+
278+## Autofilter setzen
279+
280+``` pascal
281+begin
282+ ...
283+ // setzt den Autofilter auf die erste Zeile
284+ varXLApp.WorkBooks[1].WorkSheets[1].Rows.Rows[1].AutoFilter;
285+ ...
286+end;
287+```
288+
289+\
290+==Rahmen zeichnen==
291+
292+``` pascal
293+begin
294+ ...
295+ // Zeichnet einen Rahmen um den Bereich "B2:C3"
296+ // Der Parameter BorderAround hat folgende Syntax: BorderAround(Linienstil, Linenstärke, Farbe)
297+ varXLApp.WorkBooks[1].WorkSheets[1].Range['B2:C3'].BorderAround(1, 2, 1);
298+ ...
299+end;
300+```
301+
302+\
303+==Hyperlinks und URLS einfügen==
304+
305+``` pascal
306+begin
307+ ...
308+ // Fügt eine URL in Zelle "A2" in Sheet 2 ein
309+ // Alternative 1
310+ varXLApp.WorkBooks[1].Worksheets[2].Hyperlinks.add(
311+ varXLApp.WorkBooks[1].Worksheets[2].Cells[2, 1], 'http://www.google.de');
312+ // Alternative 2
313+ varXLApp.WorkBooks[1].worksheets[2].Cells[2,1].Formula := '=HYPERLINK("http://www.google.de")';
314+
315+ // Fügt eine Emailadresse als Formel in Zelle "A3" in Sheet 2 ein
316+ varXLApp.WorkBooks[1].worksheets[2].Cells[3,1].Formula := '=HYPERLINK("mailto:test.testmann.@test.com","Email")';
317+ ...
318+end;
319+```
320+
321+\
322+==Wert einfügen== Um einen oder mehrere Werte in einen Bereich einzufügen gibt es verschiedene Möglichkeiten.\
323+
324+``` pascal
325+begin
326+ ...
327+ // Alternative 1
328+ varXLApp.WorkBooks[1].WorkSheets[1].Range['A5'].Value := 3;
329+ varXLApp.WorkBooks[1].WorkSheets[1].Range['A6'].Value := 3;
330+ varXLApp.WorkBooks[1].WorkSheets[1].Range['A7'].Value := 3;
331+
332+ // Alternative 2
333+ varXLApp.WorkBooks[1].WorkSheets[1].Range['A5', 'A7'].Value := 3;
334+
335+ // Alternative 3
336+ wstrRange := UTF8ToUTF16('A' + IntToStr(5) + ':A' + IntToStr(7));
337+ varXLApp.WorkBooks[1].WorkSheets[1].Range[wstrRange].Value := 3;
338+
339+ // Alternative 4
340+ varXLApp.WorkBooks[1].WorkSheets['Tabelle1'].Range['A5', 'A7'].Value := 3;
341+
342+ // Alternative ...
343+ ...
344+
345+ // Übernimmt Umlaute usw. und benötigt dafür die Unit lclproc
346+ varXLApp.WorkSheets[1].Range['A15'].Value := UTF8ToUTF16('Überlegung');
347+ // Diese Vorgehensweise zur Verwendung von Umlauten ist sicherer
348+ wstrUebergabe := UTF8ToUTF16('Überlegung');
349+ varXLApp.WorkSheets[1].Range['A15'].Value := wstrUebergabe;
350+
351+ // Ermittelt die letzte Zeile und schreibt diese in Zeile 1 der Spalte F
352+ varXLWb.Worksheets['Tabelle2'].Range['F1'].Value :=
353+ varXLWb.Worksheets['Tabelle2'].UsedRange.SpecialCells(xlCellTypeLastCell).Row;
354+ // schreibt Text in die Zeile 1 der Spalte B
355+ varXLWb.Worksheets['Tabelle2'].Cells[1, 2].Value := 'Test';
356+ ...
357+end;
358+```
359+
360+\
361+
362+## Formel einfügen
363+
364+``` pascal
365+begin
366+ ...
367+ // Alternative 1
368+ varXLApp.WorkBooks[1].worksheets[2].Cells[6,3].Formula := '=Sum(A5:A7)';
369+ // Alternative 2
370+ varXLApp.WorkBooks[1].WorkSheets[2].Range['C6'].Formula := '=Sum(A5:A7)';
371+ ...
372+end;
373+```
374+
375+\
376+==Arbeiten mit Schriften==
377+
378+``` pascal
379+begin
380+ ...
381+ // Legt die Schriftart fest
382+ varXLApp.WorkBooks[1].WorkSheets['Tabelle1'].Cells[1, 1].Font.Name := 'Arial';
383+ // Legt die Schriftgröße fest
384+ varXLApp.WorkBooks[1].WorkSheets['Tabelle1'].Cells[1, 1].Font.Size := 20;
385+ // Legt die Fettschrift fest
386+ varXLApp.WorkBooks[1].WorkSheets['Tabelle1'].Cells[1, 1].Font.Bold := True;
387+ //Legt die Kursivschrift fest
388+ varXLApp.WorkBooks[1].WorkSheets['Tabelle1'].Cells[1, 1].Font.Italic := True;
389+ // Unterstreicht den Eintrag
390+ varXLApp.WorkBooks[1].WorkSheets['Tabelle1'].Cells[1, 1].Font.Underline := True;
391+ ...
392+end;
393+```
394+
395+\
396+
397+# Chart erstellen
398+
399+Die Beispiele gehen davon aus, dass das Excelobjekt (varXLApp) bereits existiert und die Exceldatei geöffnet ist.\
400+==Chart Speicher reservieren==
401+
402+``` pascal
403+var
404+ varDiagramm: OleVariant;
405+```
406+
407+\
408+==Chart Speicher freigeben==
409+
410+``` pascal
411+begin
412+ ...
413+ varDiagramm := UnAssigned;
414+ ...
415+end;
416+```
417+
418+\
419+==Chart Objekt erstellen==
420+
421+``` pascal
422+begin
423+ ...
424+ varDiagramm := varXLApp.Charts.Add; // Fügt ein Chart ein
425+ ...
426+end;
427+```
428+
429+\
430+==Chart aktivieren==
431+
432+``` pascal
433+begin
434+ ...
435+ varDiagramm.Activate; // Aktiviert das Chart
436+ ...
437+end;
438+```
439+
440+\
441+==Chart Diagramtyp festlegen==
442+
443+``` pascal
444+begin
445+ ...
446+ varDiagramm.ChartType := xlColumnClustered; // Legt den Diagramtyp fest
447+ ...
448+end;
449+```
450+
451+\
452+==Chart Datenherkunft (Datenquelle) festlegen==
453+
454+``` pascal
455+begin
456+ ...
457+ varDiagramm.SetSourceData (Source := varXLApp.WorkSheets['Tabelle1'].Range['A1:E13'],
458+ PlotBy := xlColumns); // Legt die Datenherkunft (das Excelsheet und den Bereich im Excelsheet) fest
459+ ...
460+end;
461+```
462+
463+\
464+==Chart verschieben==
465+
466+``` pascal
467+begin
468+ ...
469+ // Diagramm im selben Tabellenblatt wie die Datentabelle.
470+ varDiagramm.Location (Where := xlLocationAsObject, Name:= 'Tabelle1');
471+ ...
472+end;
473+```
474+
475+\
476+
477+## Chart Titel
478+
479+``` pascal
480+begin
481+ ...
482+ varXLApp.Worksheets[1].ChartObjects[1].Chart.HasTitle := True; // Legt fest, dass das Chart einen Titel haben darf
483+ varXLApp.Worksheets[1].ChartObjects[1].Chart.ChartTitle
484+ .Characters.Text := 'Test'; // Legt den Namen des Chart Titels fest
485+ varXLApp.Worksheets[1].ChartObjects[1].Chart.ChartTitle
486+ .Font.Color := vbRed; // Legt die Schriftfarbe des Diagrammtitels fest
487+ varXLApp.Worksheets[1].ChartObjects[1].Chart.ChartTitle
488+ .Interior.Color := vbCyan; // Legt die Hintergrundarbe des Diagrammtitels fest
489+ ...
490+end;
491+```
492+
493+\
494+
495+## Chart Achsenbeschriftung
496+
497+``` pascal
498+begin
499+ ...
500+ // Legt fest, dass das Chart Achsen hat
501+ varXLApp.Worksheets[1].ChartObjects[1].Chart.HasAxis(xlCategory) := True;
502+
503+ // Legt die Schriftfarbe der Achsenkategorie fest
504+ varXLApp.Worksheets[1].ChartObjects[1].Chart.Axes(xlCategory).TickLabels
505+ .Font.Color := vbBlue;
506+
507+ // Legt fest, dass das Chart eine Achsenbeschriftung haben darf
508+ varXLApp.Worksheets[1].ChartObjects[1].Chart.Axes(xlValue).HasTitle:= True;
509+
510+ // Legt den Achsentitel fest
511+ // Ermöglicht das Schreiben des Eurozeichens
512+ varXLApp.Worksheets[1].ChartObjects[1].Chart.Axes[xlValue].AxisTitle
513+ .Characters.Text := UTF8ToUTF16('€');
514+
515+ // Diese Schreibweise des Eurozeichens ist sicherer
516+ wstrUebergabe := UTF8ToUTF16('€');
517+ varXLApp.Worksheets[1].ChartObjects[1].Chart.Axes[xlValue].AxisTitle
518+ .Characters.Text := wstrUebergabe;
519+
520+ // Legt die Schriftfarbe des Achsentitels fest
521+ varXLApp.Worksheets[1].ChartObjects[1].Chart.Axes(xlValue).AxisTitle
522+ .Font.Color := vbBlue;
523+
524+ // Legt die Schriftgrösse des Achsentitels fest
525+ varXLApp.Worksheets[1].ChartObjects[1].Chart.Axes(xlValue).AxisTitle
526+ .Font.Size := 12;
527+ ...
528+end;
529+```
530+
531+\
532+
533+## Chart Legende
534+
535+``` pascal
536+begin
537+ ...
538+ //Legt die Beschriftung des ersten Elements der Chartlegende fest
539+ varXLApp.Worksheets[1].ChartObjects[1].Chart.SeriesCollection(1)
540+ .Name := '="Eins"';
541+ ...
542+end;
543+```
544+
545+# Auszug aus den Excelkonstanten
546+
547+``` pascal
548+unit uXLConst;
549+
550+interface
551+
552+const
553+// Klasse XlSheetType
554+xlChart = -4109;
555+xlDialogSheet = -4116;
556+xlExcel4IntlMacroSheet = 4;
557+xlExcel4MacroSheet = 3;
558+xlWorksheet = -4167;
559+
560+// Klasse XlWBATemplate
561+xlWBATChart = -4109;
562+xlWBATExcel4IntlMacroSheet = 4;
563+xlWBATExcel4MacroSheet = 3;
564+xlWBATWorksheet = -4167;
565+
566+// Klasse XlPattern
567+xlPatternAutomatic = -4105;
568+xlPatternChecker = 9;
569+xlPatternCrissCross = 16;
570+xlPatternDown = -4121;
571+xlPatternGray16 = 17;
572+xlPatternGray25 = -4124;
573+xlPatternGray50 = -4125;
574+xlPatternGray75 = -4126;
575+xlPatternGray8 = 18;
576+xlPatternGrid = 15;
577+xlPatternHorizontal = -4128;
578+xlPatternLightDown = 13;
579+xlPatternLightHorizontal = 11;
580+xlPatternLightUp = 14;
581+xlPatternLightVertical = 12;
582+xlPatternNone = -4142;
583+xlPatternSemiGray75 = 10;
584+xlPatternSolid = 1;
585+xlPatternUp = -4162;
586+xlUp = -4162;
587+xlPatternVertical = -4166;
588+
589+// Klasse XlBordersIndex
590+xlInsideHorizontal = 12;
591+xlInsideVertical = 11;
592+xlDiagonalDown = 5;
593+xlDiagonalUp = 6;
594+xlEdgeBottom = 9;
595+xlEdgeLeft = 7;
596+xlEdgeRight = 10;
597+xlEdgeTop = 8;
598+
599+// Klasse XlLineStyle
600+xlContinuous = 1;
601+xlDash = -4115;
602+xlDashDot = 4;
603+xlDashDotDot = 5;
604+xlDot = -4118;
605+xlDouble = -4119;
606+xlSlantDashDot = 13;
607+xlLineStyleNone = -4142;
608+
609+// Klasse XlChartType
610+xlColumnClustered = 51;
611+xlColumnStacked = 52;
612+xlColumnStacked100 = 53;
613+xl3DColumnClustered = 54;
614+xl3DColumnStacked = 55;
615+xl3DColumnStacked100 = 56;
616+xlBarClustered = 57;
617+xlBarStacked = 58;
618+xlBarStacked100 = 59;
619+xl3DBarClustered = 60;
620+xl3DBarStacked = 61;
621+xl3DBarStacked100 = 62;
622+xlLineStacked = 63;
623+xlLineStacked100 = 64;
624+xlLineMarkers = 65;
625+xlLineMarkersStacked = 66;
626+xlLineMarkersStacked100 = 67;
627+xlPieOfPie = 68;
628+xlPieExploded = 69;
629+xl3DPieExploded = 70;
630+xlBarOfPie = 71;
631+xlXYScatterSmooth = 72;
632+xlXYScatterSmoothNoMarkers = 73;
633+xlXYScatterLines = 74;
634+xlXYScatterLinesNoMarkers = 75;
635+xlAreaStacked = 76;
636+xlAreaStacked100 = 77;
637+xl3DAreaStacked = 78;
638+xl3DAreaStacked100 = 79;
639+xlDoughnutExploded = 80;
640+xlRadarMarkers = 81;
641+xlRadarFilled = 82;
642+xlSurface = 83;
643+xlSurfaceWireframe = 84;
644+xlSurfaceTopView = 85;
645+xlSurfaceTopViewWireframe = 86;
646+xlBubble = 15;
647+xlBubble3DEffect = 87;
648+xlStockHLC = 88;
649+xlStockOHLC = 89;
650+xlStockVHLC = 90;
651+xlStockVOHLC = 91;
652+xlCylinderColClustered = 92;
653+xlCylinderColStacked = 93;
654+xlCylinderColStacked100 = 94;
655+xlCylinderBarClustered = 95;
656+xlCylinderBarStacked = 96;
657+xlCylinderBarStacked100 = 97;
658+xlCylinderCol = 98;
659+xlConeColClustered = 99;
660+xlConeColStacked = 100;
661+xlConeColStacked100 = 101;
662+xlConeBarClustered = 102;
663+xlConeBarStacked = 103;
664+xlConeBarStacked100 = 104;
665+xlConeCol = 105;
666+xlPyramidColClustered = 106;
667+xlPyramidColStacked = 107;
668+xlPyramidColStacked100 = 108;
669+xlPyramidBarClustered = 109;
670+xlPyramidBarStacked = 110;
671+xlPyramidBarStacked100 = 111;
672+xlPyramidCol = 112;
673+xl3DColumn = -4100;
674+xlLine = 4;
675+xl3DLine = -4101;
676+xl3DPie = -4102;
677+xlPie = 5;
678+xlXYScatter = -4169;
679+xl3DArea = -4098;
680+xlArea = 1;
681+xlDoughnut = -4120;
682+xlRadar = -4151;
683+
684+// Klasse Constants
685+xlAll = -4104;
686+xlAutomatic = -4105;
687+xlBoth = 1;
688+xlCenter = -4108;
689+xlChecker = 9;
690+xlCircle = 8;
691+xlCorner = 2;
692+xlCrissCross = 16;
693+xlCross = 4;
694+xlDiamond = 2;
695+xlDistributed = -4117;
696+xlDoubleAccounting = 5;
697+xlFixedValue = 1;
698+xlFormats = -4122;
699+xlGray16 = 17;
700+xlGray8 = 18;
701+xlGrid = 15;
702+xlHigh = -4127;
703+xlInside = 2;
704+xlJustify = -4130;
705+xlLightDown = 13;
706+xlLightHorizontal = 11;
707+xlLightUp = 14;
708+xlLightVertical = 12;
709+xlLow = -4134;
710+xlManual = -4135;
711+xlMinusValues = 3;
712+xlModule = -4141;
713+xlNextToAxis = 4;
714+xlNone = -4142;
715+xlNotes = -4144;
716+xlOff = -4146;
717+xlOn = 1;
718+xlPercent = 2;
719+xlPlus = 9;
720+xlPlusValues = 2;
721+xlSemiGray75 = 10;
722+xlShowLabel = 4;
723+xlShowLabelAndPercent = 5;
724+xlShowPercent = 3;
725+xlShowValue = 2;
726+xlSimple = -4154;
727+xlSingle = 2;
728+xlSingleAccounting = 4;
729+xlSolid = 1;
730+xlSquare = 1;
731+xlStar = 5;
732+xlStError = 4;
733+xlToolbarButton = 2;
734+xlTriangle = 3;
735+xlGray25 = -4124;
736+xlGray50 = -4125;
737+xlGray75 = -4126;
738+xlBottom = -4107;
739+xlLeft = -4131;
740+xlRight = -4152;
741+xlTop = -4160;
742+xl3DBar = -4099;
743+xl3DSurface = -4103;
744+xlBar = 2;
745+xlColumn = 3;
746+xlCombination = -4111;
747+xlCustom = -4114;
748+xlDefaultAutoFormat = -1;
749+xlMaximum = 2;
750+xlMinimum = 4;
751+xlOpaque = 3;
752+xlTransparent = 2;
753+xlBidi = -5000;
754+xlLatin = -5001;
755+xlContext = -5002;
756+xlLTR = -5003;
757+xlRTL = -5004;
758+xlVisualCursor = 2;
759+xlLogicalCursor = 1;
760+xlSystem = 1;
761+xlPartial = 3;
762+xlHindiNumerals = 3;
763+xlBidiCalendar = 3;
764+xlGregorian = 2;
765+xlComplete = 4;
766+xlScale = 3;
767+xlClosed = 3;
768+xlColor1 = 7;
769+xlColor2 = 8;
770+xlColor3 = 9;
771+xlConstants = 2;
772+xlContents = 2;
773+xlBelow = 1;
774+xlCascade = 7;
775+xlCenterAcrossSelection = 7;
776+xlChart4 = 2;
777+xlChartSeries = 17;
778+xlChartShort = 6;
779+xlChartTitles = 18;
780+xlClassic1 = 1;
781+xlClassic2 = 2;
782+xlClassic3 = 3;
783+xl3DEffects1 = 13;
784+xl3DEffects2 = 14;
785+xlAbove = 0;
786+xlAccounting1 = 4;
787+xlAccounting2 = 5;
788+xlAccounting3 = 6;
789+xlAccounting4 = 17;
790+xlAdd = 2;
791+xlDebugCodePane = 13;
792+xlDesktop = 9;
793+xlDirect = 1;
794+xlDivide = 5;
795+xlDoubleClosed = 5;
796+xlDoubleOpen = 4;
797+xlDoubleQuote = 1;
798+xlEntireChart = 20;
799+xlExcelMenus = 1;
800+xlExtended = 3;
801+xlFill = 5;
802+xlFirst = 0;
803+xlFloating = 5;
804+xlFormula = 5;
805+xlGeneral = 1;
806+xlGridline = 22;
807+xlIcons = 1;
808+xlImmediatePane = 12;
809+xlInteger = 2;
810+xlLast = 1;
811+xlLastCell = 11;
812+xlList1 = 10;
813+xlList2 = 11;
814+xlList3 = 12;
815+xlLocalFormat1 = 15;
816+xlLocalFormat2 = 16;
817+xlLong = 3;
818+xlLotusHelp = 2;
819+xlMacrosheetCell = 7;
820+xlMixed = 2;
821+xlMultiply = 4;
822+xlNarrow = 1;
823+xlNoDocuments = 3;
824+xlOpen = 2;
825+xlOutside = 3;
826+xlReference = 4;
827+xlSemiautomatic = 2;
828+xlShort = 1;
829+xlSingleQuote = 2;
830+xlStrict = 2;
831+xlSubtract = 3;
832+xlTextBox = 16;
833+xlTiled = 1;
834+xlTitleBar = 8;
835+xlToolbar = 1;
836+xlVisible = 12;
837+xlWatchPane = 11;
838+xlWide = 3;
839+xlWorkbookTab = 6;
840+xlWorksheet4 = 1;
841+xlWorksheetCell = 3;
842+xlWorksheetShort = 5;
843+xlAllExceptBorders = 6;
844+xlLeftToRight = 2;
845+xlTopToBottom = 1;
846+xlVeryHidden = 2;
847+xlDrawingObject = 14;
848+
849+// Klasse XLPlacement
850+xlMoveAndSize = 1;
851+xlMove = 2;
852+xlFreeFloating = 3;
853+
854+// Klasse XlRowCol
855+xlRows = 1;
856+xlColumns = 2;
857+
858+// Klasse XlChartLocation
859+xlLocationAsNewSheet = 1;
860+xlLocationAsObject = 2;
861+xlLocationAutomatic = 3;
862+
863+// Klasse XlAxisType
864+xlCategory = 1;
865+xlValue = 2;
866+xlSeriesAxis = 3;
867+
868+// Klasse ColorConstants
869+vbBlack = 0;
870+vbBlue = 16711680;
871+vbCyan = 16776960;
872+vbGreen = 65280;
873+vbMagenta = 16711935;
874+vbRed = 255;
875+vbWhite = 16777215;
876+vbYellow = 65535;
877+
878+// Klasse XlCellType
879+xlCellTypeAllFormatConditions = -4172;
880+xlCellTypeAllValidation = -4174;
881+xlCellTypeBlanks = 4;
882+xlCellTypeComments = -4144;
883+xlCellTypeConstants = 2;
884+xlCellTypeFormulas = -4123;
885+xlCellTypeLastCell = 11;
886+xlCellTypeSameFormatConditions = -4173;
887+xlCellTypeSameValidation = -4175;
888+xlCellTypeVisible = 12;
889+
890+// Klasse XLAxisGroup
891+xlPrimary = 1;
892+xlSecondary = 2;
893+
894+implementation
895+
896+end.
897+```
898+
899+---
900+*From the Free Pascal wiki, page "ExcelAutomation/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).*
901+Category: Tutorials/de

Back to history