Forum: Sonstige Fragen zu Delphi
Delphi
by sx2008,
24. Mai 2009
Wozu? Du brauchst es nicht.
Du öffnet die Excel-Anwendung nur einmal und erzeugst dann soviele Workbooks, wie du Stringgrids in deiner Anwendung hast.
Ein Workbook entspricht einer Exceldatei.
Du kannst auch ein Workbook mit mehreren Worksheets (Arbeitsblätter) erzeugen; dann hast du alle Daten in einer Exceldatei.
Forum: Sonstige Fragen zu Delphi
Delphi
by sx2008,
24. Mai 2009
Du bekommst die aller erste, die gestartet wurde und sich in der ROT registriert hat.
Wie man eine Liste bekommt, ist mir nicht bekannt.
Forum: Sonstige Fragen zu Delphi
Delphi
by sx2008,
24. Mai 2009
Du musst vorher schauen, ob Excel schon läuft.
Excel registriert sich selbst in der ROT (running object table) und das kann man mit GetActiveOleObject abfragen.
try
// Versuche bestehende Excel-Anwendung aus der ROT zu holen
ExcelApplication:=GetActiveOleObject('Excel.Application');
except
// falls das fehlschlägt eine neue Excel-Anwendung starten
ExcelApplication:= ...