查看: 3453|回复: 0

word或wps利用vba批量转pdf文件

[复制链接]
发表于 2025-2-12 09:13:11 |四川| 显示全部楼层 |阅读模式
有时候需要将许多word转为pdf,网上搜索了一圈,现成的软件居然要收费。
后来搜到可以用vba解决。遂记录下来,这里注意:wps要专业版,个人版不行。专业版才带vba
(1)打开一个空白的word文档或者wps文档。
(2)按下Alt+F11快捷键,打开vba编辑器
(3)在打开的Project中的空白文档处输入如下代码:
  1. Sub ConvertWordsToPdfs()
  2.     'Updated by Extendoffice 20181123
  3.     Dim xIndex As String
  4.     Dim xDlg As FileDialog
  5.     Dim xFolder As Variant
  6.     Dim xNewName As String
  7.     Dim xFileName As String
  8.     Set xDlg = Application.FileDialog(msoFileDialogFolderPicker)
  9.     If xDlg.Show <> -1 Then Exit Sub
  10.     xFolder = xDlg.SelectedItems(1) + ""
  11.     xFileName = Dir(xFolder & "*.*", vbNormal)
  12.     While xFileName <> ""
  13.         If ((Right(xFileName, 4)) <> ".doc" Or Right(xFileName, 4) <> ".docx") Then
  14.             xIndex = InStr(xFileName, ".") + 1
  15.             xNewName = Replace(xFileName, Mid(xFileName, xIndex), "pdf")
  16.             Documents.Open FileName:=xFolder & xFileName, _
  17.                 ConfirmConversions:=False, ReadOnly:=False, AddToRecentFiles:=False, _
  18.                 PasswordDocument:="", PasswordTemplate:="", Revert:=False, _
  19.                 WritePasswordDocument:="", WritePasswordTemplate:="", Format:= _
  20.                 wdOpenFormatAuto, XMLTransform:=""
  21.             ActiveDocument.ExportAsFixedFormat OutputFileName:=xFolder & xNewName, _
  22.                 ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _
  23.                 wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _
  24.                 Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _
  25.                 CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _
  26.                 BitmapMissingFonts:=True, UseISO19005_1:=False
  27.             ActiveDocument.Close
  28.         End If
  29.         xFileName = Dir()
  30.     Wend
  31. End Sub
复制代码
如下图所示:
1350686-f542d6622659dc7a.png
(4)点击【运行】菜单中的【运行子过程/用户窗体】(或者按下F5),就会打开一个对话框,选择包含多个word文档的文件夹,就可以执行转换操作了。
(5)执行完毕之后,会在word文件所在的目录生成pdf文件。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:web@jzbar.net

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|蜀ICP备13014264号-2

在本版发帖QQ客服返回顶部