Excel Datei nach dem Auslesen mit Word Makro noch gesperrt
Guten Morgen,
ich habe eine Wordvorlage mit dern Hilfe ich Daten aus einer Excel-Datei auslese und das Dokument mit Textmarken befülle.
Nachdem das Modul durchgelaufen ist schließe ich die Excel-Datei mit dem Befehl
ExcelSheetobj.Close
ExcelSheetobj ist in dem Fall das erstellte Excelobjekt das ich zum bearbeiten benötige.
DAS PROBLEM
Nachdem alles fehlerfrei durchlaufen wurde und die Eintragungen erfolgt sind und das Objekt geschlossen ist bleibt die Datei gesperrt!
Es erscheint die übliche Meldung
Datei durch Bearbeiter xy geöffnet...
Im Taskmanager läuft auch immer ein Prozess und die Datei wird erst freigegeben wenn der Task beendet wird.
So und jetzt kommt es nicht lachen bitte... es ist Excel 2003 und Windows XP.
LG vossbaer
ich habe eine Wordvorlage mit dern Hilfe ich Daten aus einer Excel-Datei auslese und das Dokument mit Textmarken befülle.
Nachdem das Modul durchgelaufen ist schließe ich die Excel-Datei mit dem Befehl
ExcelSheetobj.Close
ExcelSheetobj ist in dem Fall das erstellte Excelobjekt das ich zum bearbeiten benötige.
DAS PROBLEM
Nachdem alles fehlerfrei durchlaufen wurde und die Eintragungen erfolgt sind und das Objekt geschlossen ist bleibt die Datei gesperrt!
Es erscheint die übliche Meldung
Datei durch Bearbeiter xy geöffnet...
Im Taskmanager läuft auch immer ein Prozess und die Datei wird erst freigegeben wenn der Task beendet wird.
So und jetzt kommt es nicht lachen bitte... es ist Excel 2003 und Windows XP.
LG vossbaer
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 236104
Url: https://administrator.de/contentid/236104
Ausgedruckt am: 26.11.2024 um 09:11 Uhr
2 Kommentare
Neuester Kommentar
Hallo vossbaer,
dann schließe das Excel-Objekt nach der Prozedur:
Wenn dein Excel-Objekt z.B. mit "objExcel" initialisiert wurde geht das so:
zur Info: ich meine mit dem Objekt nicht dein Workbook-Objekt !
Stelle zusätzlich sicher das keine Dialogfelder das erfolgreiche Schließen verhindern können indem du
am Anfang deines Codes setzt, und vor dem Freigeben des Excel-Objekts wieder auf True setzt.
Solche Probleme lassen sich leichter debuggen, wenn man das Excel-Objekt vorübergehend auf sichtbar schaltet:
Also insgesamt dann z.B. nach folgender Struktur:
Grüße Uwe
dann schließe das Excel-Objekt nach der Prozedur:
Wenn dein Excel-Objekt z.B. mit "objExcel" initialisiert wurde geht das so:
objExcel.Quit
Stelle zusätzlich sicher das keine Dialogfelder das erfolgreiche Schließen verhindern können indem du
objExcel.DisplayAlerts = False
Solche Probleme lassen sich leichter debuggen, wenn man das Excel-Objekt vorübergehend auf sichtbar schaltet:
objExcel.Visible = True
set objExcel = CreateObject("Excel.Application")
' Excel zum Test sichtbar schalten
objExcel.Visible = True
objExcel.DisplayAlerts = False
set ExcelSheetobj = objExcel.Workbooks.Open("C:\test.xslx")
'...
'hier dein Code
'...
ExcelSheeobj.Close false
objExcel.DisplayAlerts = True
objExcel.Quit
Set objExcel = Nothing