Stampa tutte le cartelle di lavoro in una cartella utilizzando VBA in Microsoft Excel
In questo articolo creeremo una macro per stampare tutti i file Excel all’interno di una cartella.
Abbiamo alcuni file Excel all’interno di una cartella che vogliamo stampare. Tutti hanno la stessa estensione di file, “.xlsx”
Spiegazione del codice
Dir (TargetFolder & FileFilter)
Il codice sopra viene utilizzato per ottenere il nome del file del primo file all’interno del percorso della cartella.
Workbooks.Open TargetFolder & FileName Il codice precedente viene utilizzato per aprire la cartella di lavoro definita.
ActiveWorkbook.PrintOut Il codice precedente viene utilizzato per stampare la cartella di lavoro attiva.
Segui sotto per il codice
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
Se ti è piaciuto questo blog, condividilo con i tuoi amici su Facebook e Facebook.
Ci piacerebbe sentire la tua opinione, facci sapere come possiamo migliorare il nostro lavoro e renderlo migliore per te. Scrivici a [email protected]