0

我在 MS Word 2010 中使用邮件合并。数据来自 Excel 电子表格:

Last Name           First Name          Group
Smith               Oliver              F1
Jones               Amelia              B2
Taylor              Emma                B2
Williams            Jack                C1

假设我们有以下合并字段:"LASTNAME""FIRSTNAME""GROUP"

在我的文档中,我想添加一个特定于该组的段落。Word 会在名为“GROUP” .txt 的文件中查找此段落:

B1.txt:
Lorem ipsum dolor sit amet, consectetur adipiscing elit.

B2.txt:
Sed auctor turpis sed nisl ultricies volutpat.

C1.txt:
Vestibulum vel interdum metus, quis accumsan tortor.

这是其中一个想法。这些段落也可以来自另一个来源,例如 Excel 工作表或 CSV 文件。

你知道我该怎么做吗?

4

1 回答 1

0

我很高兴地告诉您,通过编写一个小的 VBA 脚本,我找到了一个令人满意的解决方案。它分三个步骤工作:

  1. 获取所需合并字段的值(例如“B2”)

    ' source: 4th post, from dmaruca, on VBForum thread Nr 549587
    GroupVal = ActiveDocument.MailMerge.DataSource.DataFields("Group").Value
    
  2. 导入相关文本文件的内容(例如“C:\B2.TXT”)

    GroupText = ImportTextFile("C:\" & GroupVal & ".Txt")
    
    ' VBA Code Snippet #22 from Allan Chara (Excel MVP)
    Function ImportTextFile(strFile As String) As String
      Open strFile For Input As #1
      ImportTextFile = Input$(LOF(1), 1)
      Close #1
    End Function
    
  3. 插入文本

    ' see Microsoft KB #212682
    Selection.TypeText (GroupText)
    
于 2015-02-23T14:20:07.897 回答