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