Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1944to1948
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

Excel Instanz mit den geöffneten Dateien schließen

Excel Instanz mit den geöffneten Dateien schließen
30.08.2023 10:29:10
Nikki
Hallo liebes Forum,

ich habe folgendes Problem und hoffe ihr könnt mir helfen.
Mit einem VBA-Code greife ich auf SAP zu. Aus SAP werden nun verschiedene Stücklisten in Excel importiert. Dabei wird einen neue Instanz von Excel geöffnet. Meine Makros um die Dateien weiter zu verarbeiten befinden sich in der 1. Instanz. Die zu verarbeitenden Dateien in der 2.

Mit folgendem Code (im Netz gefunden) schließe ich aus der 1. Instanz heraus, die Datei MB52.xlsx (2. Instanz). Soweit funktioniert das sehr gut. Jetzt möchte ich aber, egal wieviele Dateien in der 2. Instanz geöffnet sind (also nicht nur die MB52) sondern alle geöffnenten Dateien schließen. Kann mir jemand sagen, wie ich den Code anpassen muss?

Sub closeForeignWB()
Dim objWB As Workbook, xlApp As Application

On Error Resume Next
Set objWB = GetObject("M:\MB52.xlsx")

If Not objWB Is Nothing Then
If objWB.Parent.Workbooks.Count = 1 Then Set xlApp = objWB.Parent
objWB.Close True
If Not xlApp Is Nothing Then xlApp.Quit
End If

Set objWB = Nothing
Set xlApp = Nothing

End Sub

Danke vorab für Eure Hilfe.
LG Nikki

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Noch mal ein Test # auch mit einer langen Betreffzeile
30.08.2023 11:56:41
MCO
Hallo Nikki!

Ungetestet, aber vom Prinzip sollte es klappen:

Sub closeForeignWB()

Dim objWB As Workbook, xlApp As Application

On Error Resume Next
Set objWB = GetObject("M:\MB52.xlsx")

If Not objWB Is Nothing Then
If objWB.Parent.Workbooks.Count = 1 Then Set xlApp = objWB.Parent
If Not xlApp Is Nothing Then
For Each wb In xlApp.Workbooks 'alle workbooks in xlApp
wb.Close True
Next
xlApp.Quit
End If
End If

Set objWB = Nothing
Set xlApp = Nothing

End Sub


Viel Erfolg!
Gruß, MCO
Anzeige
AW: Excel Instanz mit den geöffneten Dateien schließen
30.08.2023 17:34:29
Ulf


Sub closeForeignWB()
Dim objWB As Workbook, xlApp As Application
On Error Resume Next
Set objWB = GetObject("M:\MB52.xlsx")
If Not objWB Is Nothing Then
Set xlApp = objWB.Parent
for each objWB in xlApp.Workbooks
objWB.Close True
next
xlApp.Quit
End If
Set objWB = Nothing
Set xlApp = Nothing
End Sub

hth
Ulf
AW: Noch mal ein Test # auch mit einer langen Betreffzeile
30.08.2023 12:06:56
Nikki
Danke für deine Hilfe. Leider läuft das nicht.
Als erstes bekam ich die Fehlermeldung "Variabel nicht definiert". Habe dann Dim wb as workbook ergänzt. Die Fehlermeldung kam nicht mehr. Aber es wurden auch keine Dateien geschlossen.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige