我正在尝试搜索Word文档并用指定的值替换特定字符串(现在使用硬编码值“Special”)。宏明显显示它能够在Word编辑器中找到正确的文本,但替换功能不起作用。这是我第一次使用VBA,所以如果可能的话,我需要一些帮助。以下是宏代码...
Sub Test()
'
' Test Macro
'
'
Documents.Open FileName:="C:\Users\abensch\Documents\NANTDocMerge\DMID - Backups\System Clock Ability.docx", _
ConfirmConversions:=False, _
ReadOnly:=False, AddToRecentFiles:=False, _
PasswordDocument:="", PasswordTemplate:="", _
Revert:=False, WritePasswordDocument:="", _
WritePasswordTemplate:="", _
Format:=wdOpenFormatAuto, _
XMLTransform:=""
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "Special"
.Replacement.Text = "Potato"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
End Sub
我不确定在Select.Find中大多数指定的参数是否是必需的,移除它们似乎并不会影响宏的性能,但我认为最好保留它们以确保安全。我在想这可能是一个Word格式问题,尽管我尝试使用两个ClearFormatting调用来删除所有格式。