【发布时间】:2012-08-15 14:47:49
【问题描述】:
我正在尝试创建一个执行以下操作的宏:
遍历文档并查找格式为## 的字符串。我要查找的项目是数字,因此它们将始终为##014、##054 等。如果找到包含##...的字符串,则需要在我的文档中搜索excel 工作表CodesNew.xls。如果它在 A 列中找到匹配的字符串,则需要将 word 文档中的字符串替换为 B 列中的值。现在到了棘手的部分!该值需要作为合并字段输入。
我现在只有搜索 Word 文档并替换它。
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "##*"
.Replacement.Text = "KDKKD"
.Forward = True
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = True
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
【问题讨论】:
-
是的,所以工作簿被命名为 Test.xls 并包含工作表 CodeNew。假设找到##123,它贯穿A列,如果找到匹配项,它将用B列中的值替换单词doc中的##123(比如说'mytext')。在 Word 中转到 Insert>QuickParts>Field>Mergefield,这就是它需要导入的方式。
-
工作表包含两列,A 和 B。A 包含宏用于查找匹配项的数据,B 包含需要替换的值。
-
不,A 和 B 列只包含值,没有标题。文本“mytext”需要作为合并域代码输入。你对 SQL 是什么意思,我不明白那部分。