Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1692to1696
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

Speicheroptimierung im Batch (PDF-Export)

Speicheroptimierung im Batch (PDF-Export)
16.05.2019 12:16:03
Marco
Hallo Zusammen,
ich habe ein Problem bei einer Stapelverarbeitung mit dem Speicher.
Das Makro arbeitet alle Excel-Dateien in einem Verzeichnis ab und speichert diese als PDF ab.
Allerdings bekomme ich nach ca. 50 Dateien die Meldung dass Excel nicht geügend Speicher zur Verfügung steht.
Gibt es eine Möglichkeit dieses zu Verhindern? Bekannte Dinge wie Zwischenablage leeren führen hier zu keinem Ergebnis.
Oft kommt es vor dass über 100 Dateien umgewandelt werden müssen.
Anbei das Makro, dass ich zur Grundlage verwende.
Viele Grüße
Marco
Option Explicit
Sub BatchExport_Test()
Dim myPath As String, WorkFile As String
Dim xlApp As Excel.Application, xlwb As Excel.Workbook
myPath = "C:\PDF_ohne_Anlagen\XLS2PDF\"
WorkFile = Dir(myPath & "*.xls")
Set xlApp = CreateObject("Excel.Application")
Do While WorkFile  ""
'MsgBox "found " & WorkFile
Set xlwb = xlApp.Workbooks.Open(Filename:=myPath & WorkFile)
xlwb.ExportAsFixedFormat Type:=xlTypePDF, Quality:=xlQualityStandard, IncludeDocProperties:= _
True, IgnorePrintAreas:=False, OpenAfterPublish:=False, to:=2, Filename:=myPath & WorkFile
xlwb.Close SaveChanges:=False
WorkFile = Dir
Loop
xlApp.Quit
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Speicheroptimierung im Batch (PDF-Export)
16.05.2019 12:34:20
Zwenn
Hallo Marco,
ich weiß nicht wie Excel intern mit Objekten umgeht, auf die es keine Referenz mehr gibt, solange die Funktion noch läuft, in der das Objekt erzeugt wurde. Testweise würde ich also das Objekt immer Löschen, bevor Du ein neues auf die gleiche Variable erstellt.
Füge hinter dem Schließen der Arbeitsmappe im Schleifenkörper mal xlwb = Nothing ein. Vielleicht hilft das schon. Wie gesagt, es kann auch sein, dass Excel den betreffenden Speicher des Objektes auch von selbst wieder freigibt, sobald der gleichen Variablen mit Set eine neue Objektreferenz zugewiesen wird. Dann bringt das setzen auf Nothing an der Stelle gar nix.
Viele Grüße,
Zwenn
Anzeige
AW: Speicheroptimierung im Batch (PDF-Export)
16.05.2019 12:45:02
Torsten
Hallo,
ist zwar etwas ungewoehnlich vielleicht, aber wenn nichts hilft dann vielleicht fuer jede neu _ zu oeffnende Excel Datei eine neue Instanz zu oeffnen. Also das

Set xlApp = CreateObject("Excel.Application")
und
xlApp.Quit

innerhalb der Do Schleife.
Gruss Torsten
AW: Speicheroptimierung im Batch (PDF-Export)
16.05.2019 12:56:04
Marco
Hallo, danke Euch für den Tipp - ich teste gerade. Melde mich später noch einmal ob es mein Problem gelöst hat.
Viele Grüße
Marco
AW: Speicheroptimierung im Batch (PDF-Export)
16.05.2019 13:31:43
Marco
Hallo,
kurze Rückmeldung - Danke nochmals für Euren Tipp.
Es scheint sogar einiges gebracht zu haben. Ich habe die Objekte in der Schleife gesetzt und geleert und konnte gerade am Stück 102 Dateien umwandeln bis ich es abgebrochen habe.
Ich starte die Tage wenn ich den Rechner länger nicht brauche mal einen größeren Belastungstest :)
Auf jeden Fall bin ich für den Moment sehr zufrieden.
Viele Grüße
Marco
Anzeige
AW: Speicheroptimierung im Batch (PDF-Export)
16.05.2019 13:35:09
mmat
Hallo,
die Ideen von Zwenn und Torsten sind gut.
Wenn das nicht hilft:
- steht fest, das es nicht nur eine bestimmte Excel-Datei ist, die das Ungemach verursacht?
- warum läßt du das Ding nicht in Excel laufen? Da steht vielleicht mehr Speicher zur Verfügung.
vg, MM
AW: Speicheroptimierung im Batch (PDF-Export)
16.05.2019 14:32:43
Marco
Hallo MM,
so wie es aussieht hat es geholfen das objekt in der Schleife zu setzen und zu löschen.
Anfangs habe ich es direkt im geöffneten Excel laufen gehabt, dort hatte ich schon die Speicherprobleme. Aus dem Grund habe ich das ganze umgestellt.
Jetzt laufen zumindest 100 Dateien problemlos durch, mehr habe ich noch nicht getestet.
Viele Grüße
Marco
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige