В этой статье мы создадим макрос для печати всех файлов Excel в папке.

У нас есть файлы Excel в папке, которые мы хотим распечатать. Все они имеют одинаковое расширение файла, «.xlsx»

ArrowFilesInFolder

ArrowMain

Объяснение кода

Dir (TargetFolder & FileFilter)

Приведенный выше код используется для получения имени файла первого файла в пути к папке.

Workbooks.Open TargetFolder & FileName Приведенный выше код используется для открытия определенной книги.

ActiveWorkbook.PrintOut Приведенный выше код используется для печати активной книги.

Пожалуйста, введите код ниже

Option Explicit

Sub PrintAllWorkbooksInFolder(TargetFolder As String, FileFilter As String)

'Declaring variable

Dim FileName As String

'Disabling screen updates

Application.ScreenUpdating = False

'Adding path separator in the end of target folder name

If Right(TargetFolder, 1) <> "\" Then

TargetFolder = TargetFolder & "\"

End If

'Assigning default path to file filter

If FileFilter = "" Then FileFilter = "*.xls"

'Get the file name of first file in the folder

FileName = Dir(TargetFolder & FileFilter)

While Len(FileName) > 0

If FileName <> ThisWorkbook.Name Then



'Open workbook

Workbooks.Open TargetFolder & FileName



'Prints all sheets in the workbook

ActiveWorkbook.PrintOut



'Close the workbook without saving any changes

ActiveWorkbook.Close False



End If



'Get file name of next file in the folder

FileName = Dir

Wend

End Sub

Sub CallingProcedure()

'Declaring variables

Dim FolderPath, FileName As String

'Getting values from textbox on sheet1

FolderPath = Sheet1.TextBox1.Value

FileName = Sheet1.TextBox2.Value

'Calling PrintAllWorkbooksInFolder procedure

PrintAllWorkbooksInFolder FolderPath, FileName



End Sub

Если вам понравился этот блог, поделитесь им с друзьями на Facebook и Facebook.

Мы будем рады услышать от вас, дайте нам знать, как мы можем улучшить нашу работу и сделать ее лучше для вас. Напишите нам на [email protected]