Как сохранить первую страницу каждого листа в формате PDF в Excel VBA - PullRequest
0 голосов
/ 01 ноября 2019

У меня есть кнопка сохранения pdf, которая сохранит все страницы на Sheet1 и Sheet2. Теперь проблема в том, что я не могу заставить код VBA сохранять только первую страницу каждого листа, а не сохранять страницы 1, 2 и 3 каждого листа.

Я создал кнопку «Сохранить как PDF», которая сохранит «Лист1» и «Лист2», но при этом все страницы будут напечатаны на каждом листе. Все, что мне нужно, это сохранить одну страницу для каждого листа.

Private Sub PrintAllInvoices()

    Dim FolderPath As String

    FolderPath = "C:\Users\MyComputer\Desktop\PDFs"

    MkDir FolderPath

        Sheets(Array("Sheet1", "Sheet2")).Select
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=FolderPath & "\Sales", _
        OpenAfterPublish:=False, IgnorePrintAreas:=False, From:=1, To:=1

    MsgBox "All PDF's have been successfully exported."

End Sub

Я ожидаю, что при сохранении PDF-файла будут сохранены Sheet1 (Страница 1) и Sheet2 (Страница 1). Я хочу, чтобы сохранялась только первая страница каждого листа.

1 Ответ

2 голосов
/ 01 ноября 2019

Попробуйте, заменив dir на свой собственный путь к файлу. Если у вас есть права на запись по этому пути, вы должны увидеть одностраничный pdf для каждого листа в нем после запуска макроса. Как только это сработает для вас, измените при необходимости.

Option Explicit
Sub pdfSavePage()
    Dim sh as worksheet
    Const dir = "C:\Users\Tony\Documents"
    ChDir dir
    For each sh in ThisWorkbook.worksheets
       sh.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        dir & "\" & sh.Name & ".pdf", Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, From:=1, To:=1, _
       OpenAfterPublish:=False
    next sh
End Sub

Если вы хотите, чтобы все эти PDF-файлы были объединены в один документ, это легко сделать в Mac OS с помощью программы Preview, просто перетащив их вобласть боковой панели первого документа. Без сомнения, есть другие программы, которые делают то же самое в вашей ОС.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...