Чтобы распечатать выбранные листы в VBA (Visual Basic для приложений), вы можете использовать различные методы. Вот несколько подходов:
-
Метод 1: использование метода распечатки
Sub PrintSelectedSheets() Dim ws As Worksheet For Each ws In ActiveWindow.SelectedSheets ws.PrintOut Next ws End SubЭтот метод перебирает каждый выбранный лист в активном окне и печатает его с помощью метода
PrintOut. -
Метод 2: использование метода PrintPreview
Sub PrintSelectedSheets() Dim ws As Worksheet For Each ws In ActiveWindow.SelectedSheets ws.PrintPreview Next ws End SubЭтот метод просматривает каждый выбранный лист в активном окне с помощью метода
PrintPreview. -
Метод 3: использование метода ExportAsFixedFormat
Sub PrintSelectedSheets() Dim ws As Worksheet For Each ws In ActiveWindow.SelectedSheets ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\Path\To\Save\Sheet.pdf" Next ws End SubЭтот метод экспортирует каждый выбранный лист в файл PDF с помощью метода
ExportAsFixedFormat. -
Метод 4. Использование метода PrintOut с настройками печати
Sub PrintSelectedSheets() Dim ws As Worksheet For Each ws In ActiveWindow.SelectedSheets ws.PrintOut From:=1, To:=1, Copies:=1, Collate:=True Next ws End SubЭтот метод печатает первую страницу каждого выбранного листа с одной копией и сортировкой.
-
Метод 5. Использование свойства PrintArea
Sub PrintSelectedSheets() Dim ws As Worksheet For Each ws In ActiveWindow.SelectedSheets ws.PageSetup.PrintArea = ws.UsedRange.Address ws.PrintOut Next ws End SubЭтот метод устанавливает область печати для каждого выбранного листа в соответствии с используемым диапазоном, а затем печатает ее.