【发布时间】:2020-11-23 00:54:19
【问题描述】:
我想使用 VBA 循环我的 MS Word 文档的页面并将每个页面分别打印为 PDF。每个 PDF 文件的名称必须是每页中带有文本的第一行。我正在尝试以下方式:
Sub printSepPdf()
Dim pages As Page
Dim p As Paragraph
For Each pages In ActiveDocument
ActiveDocument.ExportAsFixedFormat OutputFileName:=p.Range.Sentences(1) & ".pdf", ExportFormat:=wdExportFormatPDF, _
OpenAfterExport:=False, OptimizeFor:=wdExportOptimizeForPrint, Range:= _
wdExportFromTo, From:=1, To:=1, Item:=wdExportDocumentContent, _
IncludeDocProps:=False, KeepIRM:=False, CreateBookmarks:= _
wdExportCreateHeadingBookmarks, DocStructureTags:=True, _
BitmapMissingFonts:=False, UseISO19005_1:=False
Next pages
End Sub
【问题讨论】:
-
如果这是由 mailmerge 生成的文档,请参阅将合并的输出拆分到单独的文档,或者更好的是,将 Mailmerge 输出发送到单个文件在msofficeforums.com/mail-merge/21803-mailmerge-tips-tricks.html 的 Mailmerge 提示和技巧 线程中
标签: vba loops pdf printing ms-word