通过搜索和替换Excel数据到Word模板 - 多个文档

问题描述:

我没有Word或Excel宏的经验,但我想将Excel数据导入几个文件,每个文件包含相同的内容。 (我认为这个任务毕竟不是那么复杂,我试图通过formletter函数完成它,但是当我失败时,我意识到它确实比我想象的复杂得多。然后我想,也许这是正确的地方要求adivce ...)。通过搜索和替换Excel数据到Word模板 - 多个文档

示例数据(Excel数据):

Varname Value 
    Var1  2 
    Var2  3 
    Var3  0.5 
    ... 

的示例数据(Word模板)

The following treats the topic on "Varname". Its Value is "Value". 

那么到底应该是这样的:

The following treats the topic Var1. Its Value is 2. (saved as Var1.doc or even better Var1.txt, but *.doc would be ok for the beginning!) 
    The following treats the topic Var2. Its value is 3. (saved as Var2.doc) 
    The following treats the topic Var3. Its value is 0.5. (saved as Var3.doc) 
    ... 

虽然实际文本要复杂得多,不应该是代码本身的一部分。所以我认为最好的解决方案必须是“查找”和“替换”。由于我对Word/Excel中的宏完全陌生,因此无法找到如何为“替换”功能实现Excel数据。

' Replace-Excel-Data-Macro 
    ' 
    ' 
     Selection.Find.ClearFormatting 
     Selection.Find.Replacement.ClearFormatting 
     With Selection.Find 
      .Text = """Varname""" 
      .Replacement.Text = "**???**" 
      .Forward = True 
      .Wrap = wdFindContinue 
      .Format = False 
      .MatchCase = False 
      .MatchWholeWord = False 
      .MatchWildcards = False 
      .MatchSoundsLike = False 
      .MatchAllWordForms = False 
     End With 
     Selection.Find.Execute Replace:=wdReplaceAll 
     With Selection.Find 
      .Text = """Value""" 
      .Replacement.Text = "**???**" 
      .Forward = True 
      .Wrap = wdFindContinue 
      .Format = False 
      .MatchCase = False 
      .MatchWholeWord = False 
      .MatchWildcards = False 
      .MatchSoundsLike = False 
      .MatchAllWordForms = False 
     End With 
     Selection.Find.Execute Replace:=wdReplaceAll 
    End Sub 

我很抱歉,如果这个问题已经被问过,我无法找到适当的帮助到现在为止,可能是由于我的非常有限的这种宏观的东西..知识为您的意见,许多在此先感谢! :)

您可以使用Winword中的邮件合并来简单地执行此类任务。

您从数据源中填充您的模板:execl/database /无论您的数据如何。

在您的模板中,您可以从数据源中定义字段名称。

例如,您的模板看起来像:

The following treats the topic on <<Varname>> Its Value is <<Value>> 

使用向导:

向导

你定义一个字段中输入您的模板,数据源

在邮件选项卡,单击开始邮件合并,然后单击“步骤邮件合并向导”步骤 。

请按照下列步骤从教程:

How to use mail merge to create form letters in Word

+0

我的答案是晚了一点,但还是谢谢你!最后我是这样做的:) – GreenDot72