2015-02-23 63 views
0

我使用邮件合并在MS Word 2010中的数据来自Excel电子表格:使用合并域从文本文件导入数据(MS Word 2010中)

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

让我们说,我们有以下mergefields:“LASTNAME”,“FIRSTNAME”“GROUP”

在我的文档中,我想添加一个特定于该组的段落。字会寻找本段中一个名为“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文件。

你知道我该怎么做吗?

回答

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) 
    
相关问题