Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1112to1116
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Externes Workbook gewaltsam schließen?

Externes Workbook gewaltsam schließen?
Stefan
Moin moin,
ein letztes Problem hab ich bei meinem Projekt.
Ich habe zwei Excel-Files, eine Master.xls und eine Slave.xls.
Aus der Master.xls rufe ich eine Update-Funktion für Slave.xls in Slave.xls mit Application.Run auf.
Die Update-Funktion prüft die aktuelle Version der Slave.xls und läd ggf. eine neue Version als Slave.xls_new herunter. Da sich die Slave.xls nicht selbst mit der aktuellen Version überschreiben kann muss ich nun wieder mit Application.Run eine Funktion in Master.xls starten, welche die Slave.xls schließt, die alte Version löscht, die neue Version "Renamed" und wieder öffnet.
Das sieht dann so aus in der Master.xls:
Public extWB As Workbook
Public Sub ext_close()
If Not (extWB Is Nothing) Then
extWB.Close SaveChanges:=False
Set extWB = Nothing
End If
End Sub

Public Sub ext_update()
strPathName = [Pfad] & strExtModule
If Dir(strPathName & "_new")  "" Then
If Dir(strPathName)  "" Then
ext_close
Kill (strPathName)
End If
FileCopy strPathName & "_new", strPathName
Kill (strPathName & "_new")
ext_start
End If
End Sub

Das Script hängt aber leider an folgendem Statement in ext_close mit "Laufzeitfehler '5' - Ungültiger Prozeduraufruf oder ungültiges Argument":
extWB.Close SaveChanges:=False
Die ext_close-Funktion wird auch beim normalen schließen der Master.xls aufgerufen und funktioniert dort problemlos. Deswegen VERMUTE ich, dass das Workbook nicht geschlossen werden kann, weil die Funktion in Slave.xls, die die Master-Funktion zum Update aufruft noch aktiv ist.
Gibt es eine Möglichkeit das Workbook oder dass externe Makro gewaltsam zu schließen?
Wenn ich nur das Objekt zerstöre wird das Workbook vermutlich noch im Hintergrund geöffnet sein, oder?
Ich würde ungern die Update-Funktion komplett in Master.xls holen, da die von einem anderen Team betreut wird und ich da nur schwer Updates einbringen kann. Deswegen versuche ich den Master.xls-teil so klein wie möglich zu halten.
Danke!
Stefan Welscher

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Externes Workbook gewaltsam schließen?
07.11.2009 18:29:42
Stefan
Edit: Hat sich erledigt, hatte mich in meiner Gedankenwelt etwas verrannt ;)
Ich kann ja Rückgabewerte von Application.Run auswerten und hand dieser die ext_update-Funktion starten.
Vielen Dank nochmal!
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige