(xlCellValue, Operator, Formula1)
sind die drei argumente
Sheet.Range('A1').FormatConditions.Add(1, 3, 0);
Müsste =WENN(A1<0) entspechen. Genau weiß ich es aber nciht mehr ist ja fast n Jahr her jetzt :)
Eine gute Quelle hab ich selber nicht gefunden.
Ich habe es so gemacht, dass ich in Excel unter Extras die Makroaufzeichnung gestartet habe, dann das ausgeführt, was ich durchführen wollte und mir dann das Makro angesehen und probiert. Die Argumente sind in C/Side eigentlich immer nummerisch und rest muss zur Not dann Google her halten. Vielleicht hilft dir das ja weiter.
Vielleicht helfen dir meine Notizen ein wenig
- Code:
Excel Report erstellen
1.Variablen
Name DataType Subtype
Excel Automation 'Microsoft Excel 11.0 Object Library'.Application
Book Automation 'Microsoft Excel 11.0 Object Library'.Workbook
Range Automation 'Microsoft Excel 11.0 Object Library'.Range
Sheet Automation 'Microsoft Excel 11.0 Object Library'.Worksheet
Bedingt Automation 'Microsoft Excel 11.0 Object Library'.FormatConditions
2.Erstellen des Dokuments
//Excel starten
CREATE(Excel);
//Excel sichbar machen
Excel.Visible(TRUE);
//Excel Formular erstellen
Book := Excel.Workbooks.Add(-4167);
//Arbeitsblatt hinzufügen
Sheet:=Book.Sheets.Add;
//Namen für Arbeitsblatt definieren
Sheet.Name := „Ich bin das Arbeitsblatt“;
//Werte in Zellen schreiben
Sheet.Range('A1').Value := Hallo;
//Schriftgröße setzen
Sheet.Range('A1').Font.Size := '1';
//Schriftfarbe farbig hinterlegen
Sheet.Range('A1').Font.ColorIndex := 2;
//Hintergrundfarbe
Sheet.Range('A1').Interior.ColorIndex := 19;
//Schriftart
Sheet.Range('A1').Font.Name := 'Tahoma';
//Zellen verbinden
Sheet.Range('A1:C1').Merge;
//90° drehen
Sheet.Range('A1:C1').Orientation := 90;
//Verticale ausrichtung (1=links, 2=mitte, 3=rechts)
Sheet.Range('A1:C1').VerticalAlignment:= 2;
//automatische Breite und Höhe
Sheet.Range('A4:B5').Columns.AutoFit;
//Breite
Sheet.Range('A1’).ColumnWidth := 1.5;
//Bedingte Formatierung
//Bedingte Formatierung löschen
Sheet.Range('A1').FormatConditions.Delete;
//wert > 40
Sheet.Range('A1').FormatConditions.Add(1, 5, 40);
//Formatierung Bedingung 1 (Schrift Farbe rot)
Sheet.Range('A1').FormatConditions.Item(1).Font.ColorIndex := 3;
//wert < 0
Sheet.Range('A1').FormatConditions.Add(1, 3, 0);
//Formatierung Bbedingung 2 (Schrift Farbe grün)
Sheet.Range('A1').FormatConditions.Item(2).Font.ColorIndex := 2;
//Seite einrichten
//Abstand links/rechts
Sheet:=Excel.ActiveSheet;
Sheet.PageSetup.LeftMargin := 0.3;
Sheet.PageSetup.RightMargin := 0.3;
//?
Sheet.PageSetup.PrintTitleRows := '$1:$3';
//Druckbereich
Sheet.PageSetup.PrintArea := '$A$1:$F$50';
// Kopfzeile (Mitte)
Sheet.PageSetup.CenterHeader := '&20&B'; (könnte Tab Name sein – nicht mehr sicher)
Sheet.PageSetup.CenterHeader := 'created from: ' +USERID + ' ' + FORMAT(TODAY);
//Fußzeile (Mitte)
Sheet.PageSetup.CenterFooter := '&N';
//Fußzeile (rechts) [hier Seitenzahl]
Sheet.PageSetup.RightFooter := 'Seite &S';
//?
Sheet.PageSetup.PrintGridlines := TRUE;
//Querformat
Sheet.PageSetup.Orientation := 2;
//zoom 100%
Sheet.PageSetup.Zoom := 100;
Unbenannt.JPG
Stand 24.06.2010 lape