【发布时间】:2021-08-15 02:56:50
【问题描述】:
我对 VBA 比较陌生,但尝试在 Word 中编写一个简单的函数。该函数将遍历单词列表并在特定上下文中查找/替换每个单词。
假设我有一组术语:
Dim myarray As Variant
myarray = Array("if", "then", "next")
以下是我为查找/替换术语创建宏时创建的 VBA 代码。我在 " 和 VARIABLE " 的每个实例之前添加了一个分节符,并替换为 "^pand VARIABLE "。
With Selection.Find
.Text = """ and VARIABLE """
.Replacement.Text = "^pVARIABLE "
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
我该如何写:
for xx in myarray:
find: " and ", xx, " "
replace: "^pand ", xx, " "
如果你知道 VBA,这似乎很简单,我不知道,所以我正在寻找方向。任何帮助表示赞赏!
编辑:这是应用评论者建议后的工作代码:
Sub ScriptsAnd()
'
' ScriptsAnd Macro
'
'
Dim e
For Each e In Array("if", "then", "next")
With Selection.Find
.Text = " and " & e & " "
.Replacement.Text = "^pand " & e & " "
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
.Execute Replace:=wdReplaceAll
End With
Next e
End Sub
【问题讨论】:
标签: arrays vba function ms-word