首页 > 新闻动态 > 上饶电脑维修

利用VBA将多个word文档批量转换成pdf格式

发布日期:2021-5-17   分类:上饶电脑维修   查看:

经常有这样的需求:将很多个word文档批量转换成pdf格式,虽然Microsoft Office Word 有转化成PDF文件的功能,但是需要手动一个一个操作,费时费力,有没有更快更好的办法吗?

在网上找了一大圈,试用了几个软件,体验不好,大多数要收费,转化过程中原来排版的格式会丢失,错位,转化的速度不是很快,转化完后会加软件的水印。
后来找到了利用VBA将多个word文档批量转换成pdf格式的方法,遂记录下来,以备以后使用。

一、系统环境

  • windows 10 64bit
  • Office 2019或者是wps 2019专业版
  • wps要专业版,个人版不行。专业版才带VBA
  • Microsoft Office Word 2007以上版本

二、方法

(1)打开一个空白的word文档或者wps文档。
(2)按下Alt+F11快捷键,打开VBA编辑器
(3)在打开的Project中的空白文档处输入如下代码:

Sub ConvertWordsToPdfs()
    'Updated by Extendoffice 20181123
    Dim xIndex As String
    Dim xDlg As FileDialog
    Dim xFolder As Variant
    Dim xNewName As String
    Dim xFileName As String
    Set xDlg = Application.FileDialog(msoFileDialogFolderPicker)
    If xDlg.Show <> -1 Then Exit Sub
    xFolder = xDlg.SelectedItems(1) + "\"
    xFileName = Dir(xFolder & "*.*", vbNormal)
    While xFileName <> ""
        If ((Right(xFileName, 4)) <> ".doc" Or Right(xFileName, 4) <> ".docx") Then
            xIndex = InStr(xFileName, ".") + 1
            xNewName = Replace(xFileName, Mid(xFileName, xIndex), "pdf")
            Documents.Open FileName:=xFolder & xFileName, _
                ConfirmConversions:=False, ReadOnly:=False, AddToRecentFiles:=False, _
                PasswordDocument:="", PasswordTemplate:="", Revert:=False, _
                WritePasswordDocument:="", WritePasswordTemplate:="", Format:= _
                wdOpenFormatAuto, XMLTransform:=""
            ActiveDocument.ExportAsFixedFormat OutputFileName:=xFolder & xNewName, _
                ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _
                wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _
                Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
                CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
                BitmapMissingFonts:=True, UseISO19005_1:=False
            ActiveDocument.Close
        End If
        xFileName = Dir()
    Wend
End Sub

如下图所示:



(4)点击【运行】菜单中的【运行子过程/用户窗体】(或者按下F5),就会打开一个对话框,选择包含多个word文档的文件夹,就可以执行转换操作了。


(5)执行完毕之后,会在word文件所在的目录生成pdf文件。


上一篇文章:如何清除windows开机密码?忘记开机密码了怎么办?

下一篇文章:已经是最后一篇了

上饶电脑维修师傅微信

上饶电脑维修师傅小马哥

上饶 信州区电脑维修师傅,擅长各类电脑维修,电脑系统、软件安装与修复,擅长监控安装及维修等

上饶电脑维修师傅微信

加微信咨询我