【问题标题】:Excel VBA to go to a folder and save all Excel Docs as seperare PDF filesExcel VBA 转到文件夹并将所有 Excel 文档另存为单独的 PDF 文件
【发布时间】:2018-11-14 07:20:47
【问题描述】:

我一直在编写一些代码,但似乎无法让它工作..如果我说实话,我认为我还差得很远..

我想在 Excel 文档中编写一个按钮以转到文件夹,即 D:\Work\

里面有很多 Excel 电子表格,每个人都保存为单独的 PDF 文档?

提前致谢

【问题讨论】:

标签: vba excel pdf pdf-generation


【解决方案1】:

Loop through all files 下面的代码,然后是save all worksheets with in a workbook as 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-31
    • 1970-01-01
    • 2021-06-04
    • 1970-01-01
    相关资源
    最近更新 更多