Drucken Sie alle Arbeitsmappen in einem Ordner mit VBA in Microsoft Excel
In diesem Artikel erstellen wir ein Makro zum Drucken aller Excel-Dateien in einem Ordner.
Wir haben einige Excel-Dateien in einem Ordner, den wir drucken möchten. Alle haben die gleiche Dateierweiterung „.xlsx“
Code Erklärung
Dir (TargetFolder & FileFilter)
Der obige Code wird verwendet, um den Dateinamen der ersten Datei im Ordnerpfad abzurufen.
Arbeitsmappen.Open TargetFolder & FileName Der obige Code wird zum Öffnen der definierten Arbeitsmappe verwendet.
ActiveWorkbook.PrintOut Der obige Code wird zum Drucken der aktiven Arbeitsmappe verwendet.
Bitte folgen Sie unten für den Code
Option Explicit Sub PrintAllWorkbooksInFolder(TargetFolder As String, FileFilter As String) 'Declaring variable Dim FileName As String 'Disabling screen updates Application.ScreenUpdating = False 'Adding path separator in the end of target folder name If Right(TargetFolder, 1) <> "\" Then TargetFolder = TargetFolder & "\" End If 'Assigning default path to file filter If FileFilter = "" Then FileFilter = "*.xls" 'Get the file name of first file in the folder FileName = Dir(TargetFolder & FileFilter) While Len(FileName) > 0 If FileName <> ThisWorkbook.Name Then 'Open workbook Workbooks.Open TargetFolder & FileName 'Prints all sheets in the workbook ActiveWorkbook.PrintOut 'Close the workbook without saving any changes ActiveWorkbook.Close False End If 'Get file name of next file in the folder FileName = Dir Wend End Sub Sub CallingProcedure() 'Declaring variables Dim FolderPath, FileName As String 'Getting values from textbox on sheet1 FolderPath = Sheet1.TextBox1.Value FileName = Sheet1.TextBox2.Value 'Calling PrintAllWorkbooksInFolder procedure PrintAllWorkbooksInFolder FolderPath, FileName End Sub
Wenn dir dieser Blog gefallen hat, teile ihn mit deinen Freunden auf Facebook und Facebook.
Wir würden gerne von Ihnen hören, lassen Sie uns wissen, wie wir unsere Arbeit verbessern und für Sie verbessern können. Schreiben Sie uns unter [email protected]