Wydrukuj wszystkie skoroszyty w folderze za pomocą VBA w programie Microsoft Excel

Spisie treści

W tym artykule utworzymy makro do drukowania wszystkich plików Excela w folderze.

Mamy kilka plików Excela w folderze, który chcemy wydrukować. Wszystkie mają to samo rozszerzenie pliku „.xlsx”

Wyjaśnienie kodu

Katalog (Folder docelowy i filtr plików)

Powyższy kod służy do pobrania nazwy pierwszego pliku w ścieżce folderu.

Workbooks. Otwórz folder docelowy i nazwę pliku

Powyższy kod służy do otwierania zdefiniowanego skoroszytu.

ActiveWorkbook.Wydruk

Powyższy kod służy do drukowania aktywnego skoroszytu.

Proszę postępować zgodnie z poniższym kodem!

 Option Explicit Sub PrintAllWorkbooksInFolder(TargetFolder As String, FileFilter As String) 'Deklarowanie zmiennej Dim FileName As String 'Wyłączanie aktualizacji ekranu Application.ScreenUpdating = False 'Dodawanie separatora ścieżki na końcu nazwy folderu docelowego If Right(TargetFolder, 1) "\" Then TargetFolder = TargetFolder & "\" End If 'Przypisywanie domyślnej ścieżki do filtru plików If FileFilter = "" Then FileFilter = "*.xls" 'Pobierz nazwę pierwszego pliku w folderze FileName = Dir(TargetFolder & FileFilter) While Len(FileName) > 0 If FileName ThisWorkbook.Name Then 'Otwórz skoroszyt Workbooks.Open TargetFolder & FileName 'Drukuje wszystkie arkusze w skoroszycie ActiveWorkbook.PrintOut 'Zamknij skoroszyt bez zapisywania zmian ActiveWorkbook.Close False End If 'Pobierz nazwę pliku następny plik w folderze FileName = Dir Wend End Sub Sub CallingProcedure() 'Deklarowanie zmiennych Dim FolderPath, FileName As String 'Pobieranie wartości z pola tekstowego na arkuszu Sheet1 FolderPath = Sheet1.TextBox1.Value FileName = Sheet1.TextB ox2.Value 'Wywołanie procedury PrintAllWorkbooksInFolder PrintAllWorkbooksInFolder FolderPath, FileName End Sub 

Jeśli podobał Ci się ten blog, podziel się nim ze znajomymi na Facebooku. Możesz również śledzić nas na Twitterze i Facebooku.

Chcielibyśmy usłyszeć od Ciebie, daj nam znać, jak możemy poprawić naszą pracę i uczynić ją lepszą dla Ciebie. Napisz do nas na stronie e-mail

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave