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

VBA - Excel Dateien lassen sich nicht zuverlässig schließen

VBA - Excel Dateien lassen sich nicht zuverlässig schließen
29.01.2024 14:26:17
Jan
Hallo zusammen,

ich habe ein VBA Skript, das mit aus SAP Excel Dateien generiert.
Jetzt öffnet sich jedes der Dateien nach dem Export.

Problem ist, die Dateien lassen sich nicht automatisch schließen.
Wenn ich es Richtig verstehe, liegt es daran, dass die Dateien nicht im VBA Projekt auftauchen.




Sub CloseWorkbooks()

Dim wb As Workbook
Dim wbThisScript As Workbook
Set wbThisScript = ThisWorkbook
For Each wb In Workbooks
If Not wb Is wbThisScript Then
wb.Close savechanges:=False
End If
Next wb

End Sub


Wenn ich das Skript noch einmal neu öffne nachdem die dateien offen sind, funktioniert es einwandfrei.
da ich aber ca 100-200 exporte auf einmal machen möchte sprengt das etwas meinen Arbeitsspeicher :-P

gibt es hierzu einen workaround?
Kennt das problem jemand?

Besten dank

Gruß

Jan

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Excel Dateien lassen sich nicht zuverlässig schließen
29.01.2024 14:29:23
Jan
Nachtrag: mir ist gerade noch aufgefallen, das mehrere Instanzen von Excel im Task Manager offen sind. In Jeder Instanz sind 2 - 5 Dateien enthalten nur in der Instanz wo mein Skript läuft ist keines der zu schließenden Dateien.

Ich hoffe das Hilft bei der Fehleranalyse.

Dank euch allen schon mal.

AW: VBA - Excel Dateien lassen sich nicht zuverlässig schließen
29.01.2024 18:43:16
Yal
Hallo Jan,

eine einfache Möglichkeit ist in dem Fall ein VB-Skript zu verwenden, anstatt eine Makro in einer Exceldatei.
Ein VB-Skript ist nichts anderes als eine Textdatei, die die Endung .vbs bekommt. Drauf doppelklicken, um den Skript zu starten.

Darin sollte stehen:
On Error Resume Next

'attach to running Excel instance
Set xl = GetObject(, "Excel.Application")
If Err Then
MsgBox "Fehler " & Err.Number & ": " & Err.Description
WScript.Quit 0
End If
On Error Goto 0

xl.DisplayAlerts = False
For Each wb In xl.Workbooks
wb.Close False
Next

xl.Quit
Set xl = Nothing

Sollten mehrere Excels geöffnet sein, dann mehrmals anstossen.

Gefunden in https://stackoverflow.com/questions/35662470/find-then-save-and-close-all-open-excel-documents

VG
Yal
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige