Excel VBA для перехода в папку и сохранения всех документов Excel в виде отдельных файлов PDF - PullRequest
0 голосов
/ 05 июня 2018

Я некоторое время работал над каким-то кодом, но, похоже, не могу заставить его работать .. думаю, что я совсем близко, если честно ..

Я хочу запрограммировать кнопку в документ Excel, чтобы перейти кпапка, то есть D: \ Work \

, в которой много таблиц Excel, и каждая из них сохраняется как отдельный PDF-документ?

заранее спасибо

1 Ответ

0 голосов
/ 05 июня 2018

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

Option Explicit

Sub Loop_Dir_for_Excel_Workbooks()
    Dim strWorkbook As String
    Dim wbktoExport As Workbook
    Dim strSourceExcelLocation As String

    strSourceExcelLocation = "D:\Work\XLS\"

    'Search all Excel files in the directory with .xls, .xlsx, xlsm extensions
    strWorkbook = Dir(strSourceExcelLocation & "*.xls*")

    Do While Len(strWorkbook) > 0
        'Open the workbook
        wbktoExport = Workbooks.Open(strWorkbook)

        'Export all sheets as single PDF
        Call Export_Excel_as_PDF(wbktoExport)

        'Get next workbook
        strWorkbook = Dir

        'Close Excel workbook without making changes
        wbktoExport.Close False
    Loop
End Sub

Sub Export_Excel_as_PDF(ByRef wbk As Workbook)
    Dim strTargetPDFLocation As String

    strTargetPDFLocation = "D:\Work\PDF\"
    'Select all worksheets in the opened workbook
    wbk.Sheets.Select

    'Activate first worksheet
    wbk.Sheets(1).Activate

    'Export as PDF
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        strTargetPDFLocation & wbk.Name & ".pdf" _
        , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=False

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