Entwickler-Ecke

Windows API - Excel.Workbooks.close geht nicht mehr


GuaAck - Sa 10.05.14 22:43
Titel: Excel.Workbooks.close geht nicht mehr
Liebe Experten

ich lese in einem Delphi-Programm Zellen einer Excel-Tabelle aus und verarbeite sie. Hatte bisher EXCEL 2000 (Windows XP) und habe nun das Office 2013 Paket (unter Windoews 8.2) gekauft. Alles geht nach wie vor bestens, nur bei dem "Close" bleibt das Programm hängen.

Es hängt bei "Excel.Workbooks.close". Nach Suche in der Online-Hilfe, fand ich einen Hinweis, dass man das über das Excel.ProtectedViewWindows.Workbooks machen solle, aber bei mir ist Excel.ProtectedViewWindows.Count=0, geht also nicht.

Kille jetzt im Taskmanager einfach Excel, dann gaht es weiter, kann ja nicht so bleiben.

Würde mich über Tipps freuen.

Gruß
GuaAck


GuaAck - Di 13.05.14 23:58

Geklärt.

EXCEL 2013 scheint ein "Select" als Änderung der Datei zu sehen. Dann bleibt bei einfachem Close die Anfrage "Speicher-Nicht speichern" wartend.

Man muss also dem Close den Paramter "SaveChanges :=False" mitgeben. Dafür muss aber "EXCEL.Workbooks" ein eigenes Objkt sein, also z. B. WBobj:=ex.Workbooks.Open(FImportxls.Filename);

Einzelheiten hier:

http://www.delphipraxis.net/91749-excel-schliessen-und-speichern.html

Grüße GuaAck