Drucken Sie alle Arbeitsmappen in einem Ordner mit VBA in Microsoft Excel

Anonim

In diesem Artikel erstellen wir ein Makro zum Drucken aller Excel-Dateien in einem Ordner.

Wir haben einige Excel-Dateien in einem Ordner, die wir drucken möchten. Alle haben die gleiche Dateierweiterung „.xlsx“

Codeerklärung

Dir(Zielordner & Dateifilter)

Der obige Code wird verwendet, um den Dateinamen der ersten Datei innerhalb des Ordnerpfads zu erhalten.

Workbooks.Open TargetFolder & FileName

Der obige Code wird verwendet, um die definierte Arbeitsmappe zu öffnen.

ActiveWorkbook.PrintOut

Der obige Code wird verwendet, um die aktive Arbeitsmappe zu drucken.

Bitte folgen Sie unten für den Code

 Option Explicit Sub PrintAllWorkbooksInFolder(TargetFolder As String, FileFilter As String) 'Variable Dim FileName As String deklarieren 'Bildschirmaktualisierungen deaktivieren Application.ScreenUpdating = False 'Pfadtrennzeichen am Ende des Zielordnernamens hinzufügen If Right(TargetFolder, 1) "\" Then TargetFolder = TargetFolder & "\" End If 'Standardpfad zum Dateifilter zuweisen If FileFilter = "" Then FileFilter = "*.xls" 'Dateiname der ersten Datei im Ordner abrufen FileName = Dir(TargetFolder & FileFilter) While Len(FileName) > 0 If FileName ThisWorkbook.Name Then 'Arbeitsmappe öffnen Workbooks.Open TargetFolder & FileName 'Druckt alle Blätter in der Arbeitsmappe ActiveWorkbook.PrintOut 'Schließt die Arbeitsmappe, ohne Änderungen zu speichern ActiveWorkbook.Close False End If 'Dateinamen abrufen von nächste Datei im Ordner FileName = Dir Wend End Sub Sub CallingProcedure() 'Variablen deklarieren Dim FolderPath, FileName As String 'Werte aus der Textbox auf Blatt1 abrufen FolderPath = Sheet1.TextBox1.Value FileName = Sheet1.TextB ox2.Value 'Aufrufen der PrintAllWorkbooksInFolder-Prozedur PrintAllWorkbooksInFolder FolderPath, FileName End Sub 

Wenn Ihnen dieser Blog gefallen hat, teilen Sie ihn mit Ihren Freunden auf Facebook. Außerdem können Sie uns auf Twitter und Facebook folgen.

Wir würden uns freuen, von Ihnen zu hören, lassen Sie uns wissen, wie wir unsere Arbeit verbessern und für Sie verbessern können. Schreiben Sie uns auf der E-Mail-Site