Оглавление
В этой статье я покажу вам, как можно распечатать любой документ в 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 для получения новых сообщений и обновлений.