根据内容在文字中添加文字

时间:2019-07-14 17:05:05

标签: python vba

我有一批.doc文件,在每个文件的第一行中,我都有一个人的名字。我想根据我的清单在每个文档中添加该人的电子邮件地址。如何使用python或vba编写对我有用的程序?

我尝试执行此vba代码,该代码找到该人的姓名,然后写电子邮件,并试图将其循环。但是,即使这个最低限度的工作示例也实际上不起作用。我在做什么错了?


    Sub email()
    Selection.find.ClearFormatting
    Selection.find.Replacement.ClearFormatting

    If Selection.find.Text = "Chiara Gatta" Then
       With Selection.find
        .Text = "E-mail:"
        .Replacement.Text = "E-mail: chiara.gatta@gmail.com"
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchByte = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
       End With
    Selection.find.Execute replace:=wdReplaceAll
    End If
    End Sub


1 个答案:

答案 0 :(得分:0)

该问题缺少帮助所需的最少详细信息和代码。但是,我正在尝试为您提供一个代码,该代码将从包含该代码的文档的一个表中提取人员姓名和电子邮件地址。该表应包含3列,第一列应包含该人的姓名,第二列应包含电子邮件地址,第三列为空白以用于代码注释。 See image

在运行代码时,系统将提示您选择将被电子邮件地址替换的word文件。试用时,请仅使用复制文件,并且一次只能尝试少数文件(如果文件很大)。假定文件将包含名称和单词“ E-mail:”(如果文件中未包含“ E-mail:”,请尝试修改注释的代码)

代码:

   *Result*
   shortlisted_count    Filter_ID
   ---------------------------------
   1                     136

其操作应为like this。尝试理解代码中的每个动作,并根据需要进行修改。