Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Excel Instanz mit den geöffneten Dateien schließen

Forumthread: 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
Anzeige

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
Anzeige
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.
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige