Forum: Sonstige Fragen zu Delphi
Delphi
by API,
3. Apr 2012
Meine Lösung, damit nicht immer eine neue Instanz geöffnet wird (irgendwie klar)
anstatt so
ShellExecute(0, 'open', 'excel.exe', PChar(sXlsFile), nil, SW_SHOW);
so:
ShellExecute(0, 'open', PChar(sXlsFile), nil, nil, SW_SHOW);
Forum: Sonstige Fragen zu Delphi
Delphi
by API,
3. Apr 2012
Die Arbeitsmappe möchte ich wirklich in der gleichen Instanz geöffnet haben,
denn es soll möglich sein, zwischen den Arbeitsmappen mit Strg+Tab zu wechseln, Formeln zwischen Arbeitsmappen kopieren zu können, Speicher zu reduzieren, VBA Makros aller geöffneten Arbeitsmappen im VBA Editor einsehen zu können usw...
Forum: Sonstige Fragen zu Delphi
Delphi
by API,
3. Apr 2012
Habe nun herausgefunden, dass die Stelle, wo der Fehler auftritt, nach dem GetActiveOleObject ist, sobald auf das XLApp zugegriffen wird.
Ursache: Während man sich im Bearbeitungsmodus befindet, ist Excel für den programmatischen Zugriff gesperrt.
Und wieso willst du überhaupt die laufende instanz abgreifen wenn dir auch ein neue Instanz genügt?
try
XLApp :=...
Forum: Sonstige Fragen zu Delphi
Delphi
by API,
3. Apr 2012
Hallo
Ich öffne Excel mit Late Binding wie folgt:
try
XlsApp := GetActiveOleObject('Excel.Application');
except
XlsApp := CreateOleObject('Excel.Application');
end;