如何为批量Word转PDF VBS脚本添加书签导出功能?
批量Word转PDF并导出书签的VBS脚本修改方案
原脚本可后台批量将Word文档转为PDF,但默认导出的PDF不包含书签。通过修改代码使用Word的ExportAsFixedFormat方法并配置书签参数,即可实现导出带书签的PDF,同时保持后台无窗口运行。
修改后的完整脚本:
'Convert .doc or .docx to .pdf files with bookmarks via Send To menu Set fso = CreateObject("Scripting.FileSystemObject") For i= 0 To WScript.Arguments.Count -1 docPath = WScript.Arguments(i) docPath = fso.GetAbsolutePathName(docPath) If LCase(Right(docPath, 4)) = ".doc" Or LCase(Right(docPath, 5)) = ".docx" Then Set objWord = CreateObject("Word.Application") pdfPath = fso.GetParentFolderName(docPath) & "\" & _ fso.GetBaseName(docpath) & ".pdf" objWord.Visible = False Set objDoc = objWord.documents.open(docPath) ' 使用ExportAsFixedFormat导出带书签的PDF objDoc.ExportAsFixedFormat _ OutputFileName:=pdfPath, _ ExportFormat:=17, ' wdExportFormatPDF OpenAfterExport:=False, _ OptimizeFor:=0, ' wdExportOptimizeForPrint Range:=0, ' wdExportAllDocument Item:=0, ' wdExportDocumentContent IncludeDocProps:=True, _ KeepIRM:=True, _ CreateBookmarks:=1, ' wdExportCreateHeadingBookmarks DocStructureTags:=True, _ BitmapMissingFonts:=True, _ UseISO19005_1:=False objDoc.Close objWord.Quit End If Next
关键改动说明
- 替换原
SaveAs方法为ExportAsFixedFormat:该方法支持更细致的PDF导出配置,包括书签选项 CreateBookmarks:=1:指定根据Word文档中的标题样式创建PDF书签(对应Word内置常量wdExportCreateHeadingBookmarks)- 其他参数保持默认优化设置,确保导出的PDF完整保留文档属性、结构标签等信息
- 保持
objWord.Visible = False,确保转换过程在后台完成,不会弹出Word窗口
内容的提问来源于stack exchange,提问作者Sandra
相关产品推荐
相关产品推荐

