使用VBA将批量的WORD文档转换为PDF

系统 2671 0
      Sub BatchConvertToPDF()

    Dim destFolderPath As String

    destFolderPath = GetFolderPath

    If destFolderPath <> Empty Then

        Dim path As Variant

        For Each path In GetFilePaths()

            Dim indexOfSlash, indexOfDot As Integer

            indexOfSlash = InStrRev(path, "\")

            indexOfDot = InStrRev(path, ".")

            

            Dim destFilePath As String

            destFilePath = destFolderPath + Mid(path, indexOfSlash, indexOfDot - indexOfSlash) + ".pdf"

            

            ConvertToPDF path, destFilePath

        Next path

    End If

End Sub



Function GetFilePaths()

    Dim folderPath As String

    With Application.FileDialog(msoFileDialogFilePicker)

        .Filters.Add "word文件", "*.doc; *.dotx; *.docm"

        .Title = "请择要转换的word文件"

        If .Show = -1 Then

            Set GetFilePaths = .SelectedItems

        End If

    End With

End Function



Function GetFolderPath()

    Dim folderPath As String

    With Application.FileDialog(msoFileDialogFolderPicker)

        .AllowMultiSelect = False

        .Title = "请选择要存放的目录"

        If .Show = -1 Then

            GetFolderPath = .SelectedItems(1)

        End If

    End With

End Function



Sub ConvertToPDF(srcPath As Variant, destPath As String)

    Documents.Open FileName:=srcPath, ConfirmConversions:=False, _

        ReadOnly:=False, AddToRecentFiles:=False, PasswordDocument:="", _

        PasswordTemplate:="", Revert:=False, WritePasswordDocument:="", _

        WritePasswordTemplate:="", Format:=wdOpenFormatAuto, XMLTransform:=""

    ActiveDocument.ExportAsFixedFormat OutputFileName:= _

        destPath, ExportFormat:= _

        wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _

        wdExportOptimizeForOnScreen, Range:=wdExportAllDocument, From:=1, To:=1, _

        Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _

        CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _

        BitmapMissingFonts:=True, UseISO19005_1:=False

    ActiveDocument.Close

End Sub


    

使用VBA将批量的WORD文档转换为PDF


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论