vossbaer
Goto Top

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

Content-ID: 236104

Url: https://administrator.de/contentid/236104

Ausgedruckt am: 26.11.2024 um 09:11 Uhr

colinardo
Lösung colinardo 22.04.2014, aktualisiert am 12.05.2014 um 09:50:21 Uhr
Goto Top
Hallo vossbaer,
dann schließe das Excel-Objekt nach der Prozedur:
Wenn dein Excel-Objekt z.B. mit "objExcel" initialisiert wurde geht das so:
objExcel.Quit
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
objExcel.DisplayAlerts = False 
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:
objExcel.Visible = True
Also insgesamt dann z.B. nach folgender Struktur:
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
Grüße Uwe
bastla
Lösung bastla 22.04.2014, aktualisiert am 12.05.2014 um 09:50:19 Uhr
Goto Top
Hallo vossbaer!

Ohne das Makro gesehen zu haben drängt sich natürlich die Frage auf: Läuft Dein Makro auch tatsächlich fehlerfrei durch, sodass die Excel-Datei wirklich geschlossen wird?

Ansonsten: Hast Du schon ein zusätzliches
Set ExcelSheetobj = Nothing
versucht?

Grüße
bastla