

Do You Speak Excel?
//////////////////////////////////////////
// Beispiel Excel OleAutoClient
//////////////////////////////////////////
// Aufruf oleAutoclient - zuweisen objekt oExcel
oExcel=new oleAutoclient('excel.application')
// Leeres Workbook hinzufügen
oExcel.workbooks.add()
// Beispiel: zuweisen Text in Zelle 1,1
// Objekt oCell wird zugewiesen
oCell=oExcel.activeSheet.cells(1,1)
// WICHTIG Hochkomma vorausstellen damit Excel die Werte
// nicht eigenständig interpretiert
oCell.formula := [']+"Text 1"
// Excel sichtbar machen
oExcel.visible=true
// 2. Zelle versorgen
oCell=oExcel.activeSheet.cells(1,2)
oCell.formula := [']+"text2 in cell 2"
// Spaltenbreite ändern
ocell.columnWidth := 25
// 3. und 4. Zelle mit variable Daten versorgen
oCell=oExcel.activeSheet.cells(1,3)
oCell.formula := [']+dtoc(date())
oCell=oExcel.activeSheet.cells(1,4)
oCell.formula := [']+time()
// Beispiel Zellenbereich definieren
cRange = "C1:D1"
oExcel.Range( cRange ).select()
// Hintergrundfarbe verändern
oExcel.Selection.Interior.ColorIndex := 40
// Titel Zeile nachträglich einfügen
oExcel.Rows("1:1").Select()
oExcel.Selection.Insert()
// Alternativmethode Werte zuweisen
// Hier wird Zellenbezeichnung A1 anstelle 1,1
// verwendet
oExcel.Range("A1").Select()
with ( oExcel.ActiveCell )
Formula := ['] +"Titel"+" "+dtoc(date())
font.name := "Times New Roman"
font.size := 10
font.bold := true
Interior.ColorIndex := 53
Font.ColorIndex := 2
endwith
// Excel kennt 56 Farben
nRow = 3
for i=1 to 56 // excel has 56 colors
nRow += 1
oCell=oExcel.activeSheet.cells(nRow,1)
oCell.Formula := ['Color ]+ltrim(str(i))
oCell.Interior.ColorIndex := i
next
// Egebnis abspeichern
cname="MeinDatei.xls"
if file(cname)
erase(cname)
endif
// Warnhinweise ausschalten
oExcel.displayAlerts := false
// Ergebis speichern
oExcel.activeWorkbook.saveAs(cname)
// Falls erforderlich workbook schliessen
// und Excel beenden
if msgbox("Excel Schliessen","Hinweis",20) = 6
oExcel.activeWorkbook.close()
oExcel.workbooks.close()
oExcel.visible=false
oExcel.Quit()
release object oExcel
endif