Как распечатать в pdf с помощью vba (с примером)
Вы можете использовать следующий синтаксис в VBA для печати текущего активного листа Excel в PDF:
SubPrintToPDF ()
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=" my_data.pdf ", _
Quality:=xlQualityStandard, _
IncludeDocProperties:= False ,_
IgnorePrintAreas:= False ,_
OpenAfterPublish:= True
End Sub
Этот конкретный макрос распечатает текущий активный лист Excel в PDF-файл с именем my_data.pdf и сохранит его в текущей папке.
Примечание № 1. Вы также можете включить полный путь к файлу в аргумент «Имя файла» , чтобы сохранить PDF-файл в определенной папке.
Примечание № 2. Строка OpenAfterPublish:= True указывает VBA открыть PDF-файл сразу после его экспорта. Вы можете опустить этот аргумент, если не хотите, чтобы PDF-файл открывался после экспорта.
Примечание №3 . Единственным обязательным аргументом в методе ExportAsFixedFormat является Type , для которого необходимо установить значение xlTypePDF , чтобы распечатать лист в формате PDF.
В следующем примере показано, как использовать этот макрос на практике.
Пример. Экспорт листа Excel в PDF с помощью VBA.
Предположим, у нас есть следующий лист Excel, содержащий информацию о различных баскетболистах:
Теперь предположим, что мы хотим экспортировать этот лист в PDF-файл с именем my_data.pdf .
Для этого мы можем создать следующий макрос:
SubPrintToPDF ()
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=" my_data.pdf ", _
Quality:=xlQualityStandard, _
IncludeDocProperties:= False ,_
IgnorePrintAreas:= False ,_
OpenAfterPublish:= True
End Sub
Когда мы запускаем этот макрос, лист Excel экспортируется в PDF-файл, а затем PDF-файл автоматически открывается:
Обратите внимание, что точное форматирование ячеек с границами и цветом заливки включено в PDF-файл.
Примечание . Полную документацию по методу ExportAsFixedFormat в VBA можно найти здесь .
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в VBA:
VBA: как создавать папки
VBA: как удалить папки
VBA: как удалить файлы