Как печатать в PDF в Excel VBA: с примерами и иллюстрациями

  • Поделись Этим
Hugh West

В этой статье я покажу вам, как можно распечатать любой документ в PDF, используя VBA в Excel. Мы будем использовать ExportAsFixedForma метод VBA Для этого я рассмотрю все параметры этого метода с соответствующими примерами и иллюстрациями.

Печать в PDF в Excel VBA (быстрый просмотр)

Скачать Практическое пособие

Скачайте эту рабочую тетрадь для практики, чтобы заниматься во время чтения этой статьи.

VBA Печать в PDF.xlsm

Введение в заявление ExportAsFixedFormat

⧭ Обзор:

Сайт ExportAsFixedForma метод VBA сохраняет любой заданный документ в формате PDF с заданным именем с помощью функции VBA Это довольно полезный метод для тех, кто работает с большим количеством рабочих листов Excel и хранит их для дальнейшего использования.

⧭ Синтаксис:

Синтаксис VBA ExportAsFixedFormat метод:

 Document.ExportAsFixedFormat Type, Filename, Quality, IncludeDocProperties, IgnorePrintAreas, From, To, OpenAfterPublish 

⧭ Параметры:

Параметр Обязательно / Дополнительно Пояснение
Тип Требуется Обозначает тип файла, который вы хотите сохранить. Используйте xlTypePDF для файлов PDF или xlTypeXPS для файлов XPS.
Имя файла Дополнительно Имя файла, который вы хотите сохранить. Введите здесь полный путь к файлу, если вы хотите сохранить файл по пути, отличному от пути к рабочей книге.
Качество Дополнительно Обозначает качество сохраняемого файла. Используйте xlQualityStandard для стандартного качества или xlQualityMinimum для минимального качества.
IncludeDocProperties Дополнительно Установите значение True, чтобы включить свойства документа, или значение False, чтобы не включать свойства документа.
IgnorePrintAreas Дополнительно Установите True, чтобы игнорировать области печати, или False, чтобы не игнорировать области печати.
С сайта Дополнительно Номер начальной страницы, с которой начнется сохранение документа.
На Дополнительно Установите значение True, чтобы включить свойства документа, или значение False, чтобы не включать свойства документа.
OpenAfterPublish Дополнительно Установите значение True, чтобы открыть документ после публикации, или установите значение False.

Возвращаемое значение:

Он преобразует рабочие листы рабочей книги Excel в документ PDF и сохраняет его в указанной папке с указанным именем.

5 Примеров печати в PDF в Excel VBA с помощью утверждения ExportAsFixedFormat

Рассмотрим несколько примеров того, как распечатать документ в PDF в Excel VBA с ExportAsFixedFormat метод.

Пример 1: Печать в PDF в Excel VBA без указания имени или пути

Перед вами рабочий лист с записями книг книжного магазина под названием Marin Bookstore.

Давайте напишем простой VBA код для преобразования рабочего листа в документ PDF, не указывая ни имени, ни пути.

⧭ Код VBA:

 Sub Print_To_PDF() ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF End Sub 

⧭ Выход:

Запустите этот код, и вы найдете PDF-файл с тем же именем, что и ваша рабочая книга (Имя по умолчанию, если имя не указано) в той же папке с вашей рабочей книгой (Папка по умолчанию, так как путь не указан).

Здесь он назван как Книга1.pdf так как название моей рабочей книги было Книга1 .

Подробнее: Excel VBA: как динамически установить область печати (7 способов)

Пример 2: Печать в PDF в Excel VBA с указанием имени и пути

Теперь преобразуем ту же рабочую книгу в другой PDF-файл, указав имя и путь.

Я сохраню PDF с именем "Martin Bookstore.pdf" в пути C:\Users\Public\ExcelWIKI на моем компьютере. Так что VBA код будет:

⧭ Код VBA:

 Sub Print_To_PDF() ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _ Filename:="C:\Users\Public\ExcelWIKI\Martin Bookstore.pdf" End Sub 

⧭ Выход:

Этот код сохранит PDF-документ по пути C:\Users\Public\ExcelWIKI на моем компьютере с именем Книжный магазин "Мартин".pdf .

Читать далее: Как распечатать выделенную область в Excel (2 примера)

Похожие чтения:

  • Как печатать заголовки в Excel (5 простых способов)
  • Печать рабочего листа с комментариями в Excel (5 простых способов)
  • Как распечатать выделенные ячейки в Excel (2 простых способа)
  • Выравнивание области печати по центру в Excel (4 способа)
  • Как отобразить предварительный просмотр печати с помощью Excel VBA (3 макроса)

Пример 3: Печать в PDF в Excel VBA с открытием файла после публикации

Теперь мы распечатаем документ в PDF таким образом, чтобы файл открывался после публикации. Для этого нам нужно установить параметр OpenAfterPublish параметр для Правда .

Поэтому VBA код будет,

⧭ Код VBA:

 Sub Print_To_PDF() ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _ Filename:="C:\Users\Public\ExcelWIKI\Martin Bookstore.pdf", _ OpenAfterPublish:=True End Sub 

⧭ Выход:

Этот код сохранит PDF-документ по пути C:\Users\Public\ExcelWIKI на моем компьютере с именем Книжный магазин "Мартин".pdf и открыть файл, как только он будет опубликован.

Похожие материалы: Как настроить предварительный просмотр печати в Excel (6 вариантов)

Пример 4: Печать нескольких рабочих листов в несколько PDF-файлов в Excel VBA

До сих пор мы печатали один рабочий лист. В этот раз мы распечатаем несколько рабочих листов в несколько файлов PDF.

Здесь у нас есть рабочая книга с 5 рабочих листов, каждый из которых содержит записи о книгах определенного книжного магазина.

На этот раз мы преобразуем все рабочие листы в файлы PDF.

Сайт VBA код будет:

⧭ Код VBA:

 Sub Print_Multiple_Sheets_To_PDF() Sheet_Names = InputBox("Введите имена рабочих листов для печати в PDF: ") Sheet_Names = Split(Sheet_Names, ", ") For i = LBound(Sheet_Names) To UBound(Sheet_Names) Worksheets(Sheet_Names(i)).ExportAsFixedFormat Type:=xlTypePDF, _ Filename:="C:\Users\Public\ExcelWIKI\" + Sheet_Names(i) + ".pdf" Next i End endSub 

⧭ Выход:

Запустите код. В окне ввода вам будет предложено ввести имена рабочих листов для преобразования в PDF. Здесь я ввел Книжный магазин Джозефа, книжный магазин Моргана, книжный магазин Анжелы .

Нажмите OK И он сохранит их как файлы PDF в папке C:\Users\Public\ExcelWIKI .

Читать далее: Как распечатать несколько листов в Excel (7 различных методов)

Пример 5: Разработка определяемой пользователем функции для печати в PDF-файл в Excel VBA

Наконец, я покажу вам, как можно разработать пользовательскую функцию для печати любого рабочего листа в PDF с помощью Excel. VBA .

Давайте разработаем функцию под названием PrintToPDF который распечатает активный рабочий лист в PDF-файл.

Сайт VBA код будет:

⧭ Код VBA:

 Function PrintToPDF() ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _ Filename:="C:\Users\Public\ExcelWIKI\Martin Bookstore.pdf" End Function 

⧭ Выход:

Введите эту функцию в любую ячейку рабочего листа.

=PrintToPDF()

Затем нажмите ENTER Он преобразует активный лист ( Книжный магазин "Мартин здесь) в файл PDF в указанной папке.

Читать далее: Excel VBA: печать пользовательской формы для размещения на странице (2 метода)

О чем следует помнить

При разработке кодов мы чаще всего использовали метод ActiveSheet объект VBA Он возвращает активный в данный момент рабочий лист в активной рабочей книге.

Также иногда мы использовали свойство ActiveSheet.Name Он возвращает имя активного рабочего листа.

Заключение

Таким образом, это способ распечатать любой рабочий лист в PDF с помощью VBA в Excel. У вас есть вопросы? Не стесняйтесь задавать их нам. И не забудьте посетить наш сайт ExcelWIKI для получения новых сообщений и обновлений.

Хью Уэст — опытный тренер и аналитик Excel с более чем 10-летним опытом работы в отрасли. Он имеет степень бакалавра в области бухгалтерского учета и финансов и степень магистра делового администрирования. Хью страстно любит преподавать и разработал уникальный подход к обучению, которому легко следовать и который легко понять. Его экспертные знания Excel помогли тысячам студентов и специалистов по всему миру улучшить свои навыки и преуспеть в своей карьере. В своем блоге Хью делится своими знаниями со всем миром, предлагая бесплатные учебные пособия по Excel и онлайн-обучение, чтобы помочь отдельным лицам и компаниям полностью раскрыть свой потенциал.