【发布时间】:2020-08-03 16:12:49
【问题描述】:
我正在创建一个接收两个参数的 Word 宏:一个 docx 文档列表和新文件的名称。目标是宏将一个文档一个接一个地插入,保留它们各自的格式,并保存为新的 docx 文档。
Sub Merger(path As String, args () As Variant)
Dim vArg As Variant
Active Document.Select
Selection.ClearFormatting
For Each vArg In args
ActiveDocument.Content.Words.Last.Select
Selection.InsertFile:= _ vArg _,Range:="", _ConfirmConversions:= False, Link:=False, Attachment:= False )
Selection.InsertBreak Type:=wdPageBreak
Next vArg
ActiveDocument.SaveAs2 File Name=path
ActiveDocument.Close
Application.Quit
请注意,我从一个空的 docx 文件中调用宏。
问题是原始文件的标题和格式都没有保留在新的docx文档中。
【问题讨论】:
-
Word 的数据模型不支持这一点。在文档中,样式和页眉/页脚是共享实体。
-
在您尝试编写代码之前,请手动执行操作。如果你找到了一种通过 Word UI 实现你想要的方法,你可以继续在代码中自动化它。
-
我已经设法改进了 de VBA 代码,现在,新文档保留了 de 页眉和页脚。问题持续成为风格......