Stampa tutte le cartelle di lavoro in una cartella utilizzando VBA in Microsoft Excel

Anonim

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 (cartella di destinazione e filtro file)

Il codice sopra viene utilizzato per ottenere il nome del primo file all'interno del percorso della cartella.

Cartelle di lavoro.Apri cartella di destinazione e nome file

Il codice sopra viene utilizzato per aprire la cartella di lavoro definita.

ActiveWorkbook.PrintOut

Il codice sopra viene utilizzato per stampare la cartella di lavoro attiva.

Si prega di seguire sotto per il codice

 Option Explicit Sub PrintAllWorkbooksInFolder(TargetFolder As String, FileFilter As String) 'Dichiarazione variabile Dim FileName As String 'Disabilitazione aggiornamenti schermo Application.ScreenUpdating = False 'Aggiunta separatore di percorso alla fine del nome della cartella di destinazione If Right(TargetFolder, 1) "\" Then TargetFolder = TargetFolder & "\" End If 'Assegna il percorso predefinito al filtro file If FileFilter = "" Then FileFilter = "*.xls" 'Ottieni il nome del primo file nella cartella FileName = Dir(TargetFolder & FileFilter) While Len(FileName) > 0 If FileName ThisWorkbook.Name Then 'Apri cartella di lavoro Workbooks.Open TargetFolder & FileName 'Stampa tutti i fogli nella cartella di lavoro ActiveWorkbook.PrintOut 'Chiudi la cartella di lavoro senza salvare le modifiche ActiveWorkbook.Close False End If 'Ottieni il nome del file di file successivo nella cartella FileName = Dir Wend End Sub Sub CallingProcedure() 'Dichiarazione delle variabili Dim FolderPath, FileName As String 'Ottenimento dei valori dalla casella di testo sul foglio1 FolderPath = Sheet1.TextBox1.Value FileName = Sheet1.TextB ox2.Value 'Chiamare la procedura PrintAllWorkbooksInFolder PrintAllWorkbooksInFolder FolderPath, FileName End Sub 

Se ti è piaciuto questo blog, condividilo con i tuoi amici su Facebook. Inoltre, puoi seguirci su Twitter e Facebook.

Ci piacerebbe avere tue notizie, facci sapere come possiamo migliorare il nostro lavoro e renderlo migliore per te. Scrivici al sito di posta elettronica