Vytlačte všetky zošity v priečinku pomocou jazyka VBA v programe Microsoft Excel

Anonim

V tomto článku vytvoríme makro na tlač všetkých súborov programu Excel v priečinku.

V priečinku, ktorý chceme vytlačiť, máme niekoľko súborov programu Excel. Všetky majú rovnakú príponu súboru „.xlsx“

Vysvetlenie kódu

Dir (TargetFolder & FileFilter)

Vyššie uvedený kód sa používa na získanie názvu súboru prvého súboru v rámci cesty k priečinku.

Zošity. Otvorte priečinok TargetFolder & FileName

Vyššie uvedený kód sa používa na otvorenie definovaného zošita.

ActiveWorkbook.PrintOut

Vyššie uvedený kód sa používa na tlač aktívneho zošita.

Pri kódovaní postupujte podľa nižšie uvedených pokynov

 Možnosť Explicitná čiastková tlač PrintAllWorkbooksInFolder (TargetFolder ako reťazec, FileFilter ako reťazec) „Deklarujúca premenná Dim Názov súboru ako reťazec“ Zakázanie aktualizácií obrazovky Application.ScreenUpdating = False 'Pridanie oddeľovača cesty na koniec názvu cieľového priečinka Ak je správne (TargetFolder, 1) "\" Potom TargetFolder = TargetFolder & "\" End If 'Priradenie predvolenej cesty k filtru súborov If FileFilter = "" Then FileFilter = "*.xls"' Získajte názov súboru prvého súboru v priečinku FileName = Dir (TargetFolder & FileFilter) Kým Len (Názov súboru)> 0 Ak Názov súboru ThisWorkbook.Name Potom 'Otvorte zošit zošity. Otvorte TargetFolder & FileName' Vytlačí všetky listy v zošite ActiveWorkbook.PrintOut 'Zatvorte zošit bez uloženia akýchkoľvek zmien ActiveWorkbook.Zavrieť False End If' Získať názov súboru nasledujúci súbor v priečinku FileName = Dir Wend End Sub Sub CallingProcedure () 'Declaring variables Dim FolderPath, FileName As String' Získanie hodnôt z textového poľa na sheet1 FolderPath = Sheet1.TextBox1.Value FileName = Sheet1.TextB ox2.Value 'Calling PrintAllWorkbooksInFolder procedure PrintAllWorkbooksInFolder FolderPath, FileName End Sub 

Ak sa vám tento blog páčil, zdieľajte ho so svojimi priateľmi na Facebooku. Môžete nás tiež sledovať na Twitteri a Facebooku.

Budeme radi, ak sa nám ozvete, dajte nám vedieť, ako môžeme zlepšiť našu prácu a zlepšiť ju pre vás. Napíšte nám na emailovú stránku