Natisnite vse delovne zvezke v mapi z uporabo VBA v programu Microsoft Excel

Anonim

V tem članku bomo ustvarili makro za tiskanje vseh datotek Excel v mapi.

V mapi imamo nekaj datotek Excel, ki jih želimo natisniti. Vsi imajo isto razširitev datoteke ».xlsx«

Razlaga kode

Dir (TargetFolder & FileFilter)

Zgornja koda se uporablja za pridobitev imena prve datoteke v poti mape.

Delovni zvezki. Odprite TargetFolder & FileName

Zgornja koda se uporablja za odpiranje definiranega delovnega zvezka.

ActiveWorkbook.PrintOut

Zgornja koda se uporablja za tiskanje aktivnega delovnega zvezka.

Za kodo sledite spodaj

 Možnost Explicit Sub PrintAllWorkbooksInFolder (TargetFolder As String, FileFilter As String) 'Razglasitev spremenljivke Dim FileName As String' Onemogočanje posodobitev zaslona Application.ScreenUpdating = False 'Dodajanje ločevalnika poti na koncu imena ciljne mape Če je desno (TargetFolder, 1) "\" Potem TargetFolder = TargetFolder & "\" End If 'Dodelitev privzete poti filtru datoteke If FileFilter = "" Then FileFilter = "*.xls"' Pridobite ime prve datoteke v mapi FileName = Dir (TargetFolder & FileFilter) Medtem ko Len (FileName)> 0 If FileName ThisWorkbook.Name Potem "Odpri delovne zvezke delovnega zvezka. Odpri TargetFolder & FileName" Natisne vse liste v delovnem zvezku ActiveWorkbook.PrintOut "Zaprite delovni zvezek brez shranjevanja sprememb ActiveWorkbook.Close False End Če" Get file name of naslednja datoteka v mapi FileName = Dir Wend End Sub Sub CallingProcedure () 'Deklariranje spremenljivk Dim FolderPath, FileName As String' Pridobivanje vrednosti iz besedilnega polja na listu1 FolderPath = Sheet1.TextBox1.Value FileName = Sheet1.TextB ox2.Value 'Klicanje PrintAllWorkbooksInFolder postopek PrintAllWorkbooksInFolder FolderPath, FileName End Sub 

Če vam je bil ta blog všeč, ga delite s prijatelji na Facebooku. Prav tako nam lahko sledite na Twitterju in Facebooku.

Radi bi slišali od vas, nam sporočite, kako lahko izboljšamo svoje delo in ga izboljšamo za vas. Pišite nam na spletnem mestu e -pošte