Imprimați toate registrele de lucru într-un folder folosind VBA în Microsoft Excel

Anonim

În acest articol, vom crea o macro pentru a imprima toate fișierele Excel dintr-un folder.

Avem câteva fișiere Excel într-un dosar pe care dorim să îl imprimăm. Toate au aceeași extensie de fișier, „.xlsx”

Explicarea codului

Dir (TargetFolder & FileFilter)

Codul de mai sus este utilizat pentru a obține numele fișierului primului fișier din calea folderului.

Cărți de lucru. Deschideți TargetFolder & FileName

Codul de mai sus este utilizat pentru a deschide registrul de lucru definit.

ActiveWorkbook.PrintOut

Codul de mai sus este utilizat pentru a imprima registrul de lucru activ.

Vă rugăm să urmați codul de mai jos

 Opțiune Explicit Sub PrintAllWorkbooksInFolder (TargetFolder As String, FileFilter As String) 'Declararea variabilei Dim FileName As String' Dezactivarea actualizărilor ecranului Application.ScreenUpdating = False 'Adăugarea separatorului de cale la sfârșitul numelui folderului țintă Dacă Right (TargetFolder, 1) "\" Apoi TargetFolder = TargetFolder & "\" End If 'Asignarea căii implicite la filtrul de fișier If FileFilter = "" Then FileFilter = "* .xls"' Obțineți numele fișierului primului fișier din folder FileName = Dir (TargetFolder & FileFilter) În timp ce Len (FileName)> 0 If FileName ThisWorkbook.Name Then 'Open workbook Workbooks.Open TargetFolder & FileName' Tipărește toate foile din registrul de lucru ActiveWorkbook.PrintOut 'Închideți registrul de lucru fără a salva modificările ActiveWorkbook.Închideți False End Dacă' Obțineți numele fișierului de următorul fișier din folder FileName = Dir Wend End Sub Sub CallingProcedure () „Declararea variabilelor Dim FolderPath, FileName As String” Obținerea valorilor din caseta de text pe sheet1 FolderPath = Sheet1.TextBox1.Value FileName = Sheet1.TextB ox2.Value 'Apelarea PrintAllWorkbooksInFolder procedure PrintAllWorkbooksInFolder FolderPath, FileName End Sub 

Dacă ți-a plăcut acest blog, distribuie-l prietenilor tăi de pe Facebook. De asemenea, ne puteți urmări pe Twitter și Facebook.

Ne-ar plăcea să aflăm de la dvs., să ne anunțați cum putem îmbunătăți munca noastră și o putem îmbunătăți. Scrieți-ne pe site-ul de e-mail