我有一个邮件合并文档连接到一个 excel 文件,该文件大约有 200 列和几百行。我需要将我的邮件合并文档设置为如下所示:
[code] [type] [amount]
[code1] [type1] [amount1]
[code2] [type2] [amount2]
等等,直到该字段重复 200 次。不必详细解释为什么我需要这样做,这是一种非常粗暴且快速的方法来合并我们想要的数据,最终我们会找到一种更优雅的方法。
我的问题是如何快速插入字段,而不用逐个选择插入字段数百次?理想情况下,我只需给它一个字段列表并让其插入所有字段,即在 excel 中使用字段名设置三列,然后将其复制并粘贴到 word 中,但 word 不会将它们识别为实际字段,并且会将 << text >> 视为纯文本而不是实际字段。
答案1
这是如何工作的?这是一个宏,因此请将其添加到文档中的模块中。
Sub add_hundreds_of_refs()
Dim myDoc As Document
Set myDoc = ActiveDocument
Dim i As Long
With myDoc
.MailMerge.Fields.Add Range:=Selection.Range, Name:="Code"
.MailMerge.Fields.Add Range:=Selection.Range, Name:="Type"
.MailMerge.Fields.Add Range:=Selection.Range, Name:="Amount"
Selection.TypeParagraph
For i = 1 To 200
.MailMerge.Fields.Add Range:=Selection.Range, Name:="Code" & i
.MailMerge.Fields.Add Range:=Selection.Range, Name:="Type" & i
.MailMerge.Fields.Add Range:=Selection.Range, Name:="Amount" & i
Selection.TypeParagraph
Next i
End With
End Sub