Delphi-Quellcode:
Excel := CreateOleObject('Excel.Application');
Excel.Workbooks.Add;
Excel.Cells[1,1].Paste; // ERROR 1
Excel.SaveAs(APath + AFilename + '.xlsx'); // ERROR 2
Excel.Workbook.Close;
Excel.Quit;
ERROR 1:
In der Zwischenablage befindet sich ein Text mit etlichen Tab-separierten Zellen und CR-separierten Zeilen. Manuell kann ich die Zelle A1 anclicken und Bearbeiten-Einfügen (Ctrl-V) machen und Excel fügt alles perfekt ein.
Wie lautet der passende Befehl, um dies per
OLE zu machen?
ERROR 2:
Wie speichert man das aktuelle Workbook unter einem neuen Namen ab? "SaveAs" wäre naheliegend gewesen, geht aber leider nicht.
(beide Male die Fehlermeldung: 'Die Methode 'XXX' wird vom Automatisierungsobjekt nicht unterstützt'.)
Ich möchte nacheinander eine Vielzahl von Excel-Dateien automatisiert erzeugen. Dazu neue Workbook erzeugen, Daten von Delphi aus kopieren und abspeichern, dann schließen.
Bonusfrage: Kann man einfach feststellen, ob Excel schon vor Beginn offen ist und man dann das Quit sich spart, weil der Nutzer es vielleicht noch weiter offen haben will?
Danke im voraus!