Как распечатать в PDF с помощью Excel VBA?

Как распечатать в PDF с помощью Excel VBA?

Как следует из названия... Я хочу расширить свою автоматизацию, включив в нее прямую печать в PDF. Макрос(ы), которые я написал, уже форматирует область печати и настройки страницы, как мне нужно. Но когда я пытаюсь записать свои макросы, ничего для печати, смены принтеров или сохранения в файл не фиксируется.

Есть ли способ сделать это? Я бы даже мог обойтись, если бы требовалось просто указать место сохранения. Имя файла, как я себе представляю, можно было бы сгенерировать автоматически, выхватив существующую информацию из электронной таблицы.

решение1

Если вы используете Excel 2010 и выше, то Excel предоставляет вам внутреннюю надстройку, которая позволяет вам сохранять файл в формате PDF.
Используйте следующий код в вашем макросе, чтобы сохранить файл в формате PDF

ActiveSheet.ExportAsFixedFormat Тип:=xlTypePDF, Имя файла:= _
        "C:\Users\46506090\Desktop\Book1.pdf", Качество:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        Истинный  

Здесь вы можете заменить путьC:\Users\46506090\Desktop\Book1.pdfи имя файла по вашему желанию.

Редактировать: Если вы собираетесь опубликовать всю книгу в формате PDF, а не только тот лист, над которым вы работаете, просто замените ActiveЛист.ExportAsFixedFormat в активныйРабочая тетрадь.Экспортировать в фиксированном формате

Связанный контент