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

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

1 ответ1

2

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

ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "C:\Users\46506090\Desktop\Book1.pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= _
        True  

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .