Hallo allerseits,
ich habe ein Problem, bei dem ich mir Hilfe erhoffe.
Ich habe ein kleines Tool geschrieben, welches mir sehr lästige Routineaufgaben beim Arbeiten mit bestimmten Excel-Tabellen abnimmt. Unter anderem sollen Formeln innerhalb einer solchen Exceltabelle verändert oder überschrieben werden.
Leider klappt genau das nicht so wie es soll.
Hier mal der Code, den ich verwende, vielleicht kann mir da jemand einen Tipp geben.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| procedure gesamtmiete; var Excel: Variant; kopie, kopie2: string; pfad: string; i: integer; begin Excel := CreateOleObject('Excel.Application'); pfad:= form1.Edit2.Text; Excel.Workbooks.Open (pfad); Excel.Visible := true;
application.ProcessMessages; Excel.Sheets[2].select; Excel.Sheets[2].Range['e5'].select; Excel.ActiveCell.formula:= '=c5+c6+c7+c8+d5+d6+d7+d8'; Excel.ActiveCell.NumberFormat:='0,00';
Excel.ActiveWorkbook.Save; Excel.Quit; Excel := unassigned; end; |
Mein Problem ist der Eintrag "Excel.ActiveCell.formula:= '=c5+c6+c7+c8+d5+d6+d7+d8';"
Ich hatte eigentlich vor, die Zeile
Delphi-Quelltext
1:
| Excel.ActiveCell.formula:= '=Summe(c5:d8)'; |
in diese Zelle zu schreiben, aber Excel meckert dann rum mit einem #Name - Fehler, was bei dem aktuellen Eintrag nicht der Fall ist.
Da dies nicht die einzige Art Formel ist, die eigentlich angepaßt werden muß, bin ich nun etwas ratlos. Weiß jemand von euch, was ich machen müßte, damit auch die in die Zellen geschriebenen Formeln von Excel als solche akzeptiert werden?
Ach ja, nutzen tu ich D7 unter Win2000, falls es wichtig wäre.
Bingo