Ich habe ein Problem, bei dem ich einfach nicht mehr weiter weiß. Es geht darum, dass ich aus Word heraus eine Excel-Datei schließen möchte. Aber eigentlich müsste es in diesem Fall ja egal sein, welche Office-Anwendung ich benutze, da die Schließen einer Application ja eigentlich überall gleich funktionieren müsste, oder?
Also, hier mein Problem:
Ich nutze ein Userform, welches beim Öffnen (Userform_Activate) ein Excel-Objekt erzeugt und die angegebene Excel-Datei öffnet.
Dim AppExl As Object
Sub UserForm_Activate()
Dim i As Integer
On Error Resume Next
'Die Exceldatei Userliste.xls wird geöffnet
Set AppExl = GetObject("Excel.Application")
If Err.Number 0 Then
Err.Clear
Set AppExl = CreateObject("Excel.Application")
AppExl.Workbooks.Open (UOeffnen) '.Application.Visible = True
End If
End Sub
Wenn ich nun auf den Button "Abbrechen" bzw. "OK" drücke, wird am Ende der Prozedur folgender Code ausgeführt:
AppExl.Workbooks(Uliste).Application.Quit
Set AppExl = Nothing
Unload UF_andererBenutzer
Wenn ich die erste Zeile weglasse, wird die Excel-Datei nicht geschlossen.
Das Problem ist jetzt nur, dass ich das Userform nun kein zweites Mal mehr öffnen kann bzw. dann ein Fehler erscheint. Deshalb meine Frage, wieso führt Excel beim zweiten Öffnen des Userforms die Prozedur Userfrom_Activate nicht mehr richtig aus? Ich hab doch sowohl die Objektvariable wieder zurückgesetzt als auch die Excel-Datei wieder geschlossen, eigentlich müsste das Userform beim erneuten Öffnen doch funktionieren?
Danke und Gruß,
Stefan