打开一个要转成pdf的word文件或者新建一个word空白页,然后按快捷键“Alt+F11”,出现VBA(Microsoft Visual Basic-Normal)界面(如下图)。

然后左侧右击Normal,插入“模块”(如下图)。

【小提示】
如果打开VBA窗口,左侧没有工程栏,那么可以进行如下操作(点击“视图”→“工程资源管理器”),调出左侧工程栏。(打开如果左侧有“工程-Normal”就跳过这一步~)

然后,在“模块”窗口中复制下面内容(不要修改,直接粘贴下文):
Sub ConvertWordToPDF()
Dim strFolder As String
Dim strOutputFolder As String
Dim strFile As String
Dim doc As Document
Dim fDialog As FileDialog
Dim fso As Object
' 创建文件对话框选择文件夹
Set fDialog = Application.FileDialog(msoFileDialogFolderPicker)
With fDialog
.Title = "请选择包含Word文档的文件夹"
If .Show <> -1 Then Exit Sub
strFolder = .SelectedItems(1) & "\"
End With
' 创建输出文件夹
Set fso = CreateObject("Scripting.FileSystemObject")
strOutputFolder = strFolder & "PDF输出\"
If Not fso.FolderExists(strOutputFolder) Then
fso.CreateFolder strOutputFolder
End If
' 遍历文件夹中的Word文档
strFile = Dir(strFolder & "*.doc*")
Application.ScreenUpdating = False
Do While strFile <> ""
On Error Resume Next ' 错误处理
' 打开文档
Set doc = Documents.Open(strFolder & strFile)
If Err.Number = 0 Then
' 生成PDF文件名
Dim pdfName As String
pdfName = strOutputFolder & fso.GetBaseName(strFile) & ".pdf"
' 保存为PDF
doc.SaveAs2 _
FileName:=pdfName, _
FileFormat:=wdExportFormatPDF
' 关闭文档不保存修改
doc.Close SaveChanges:=wdDoNotSaveChanges
Else
MsgBox "无法处理文件: " & strFile, vbExclamation
Err.Clear
End If
strFile = Dir()
Loop
Application.ScreenUpdating = True
MsgBox "转换完成!共处理 " & fso.GetFolder(strFolder).Files.Count & " 个文件", vbInformation
End Sub
复制内容从“End Sub”结束
接下来,按键盘上的F5运行窗口,或者按照下面图片操作:点击“运行”→“运行子过程/用户窗体”,如下图所示。

紧接着,会弹出新的对话窗口,此窗口是让你选择要转pdf的文件夹,选好后程序就会运行,如图显示[正在运行]





夜雨聆风