(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: Alles auswählen
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;
- Farben und Linien aller Art
Stand 24.06.2010 lape