如果文档中的单词为Apple
,则在Mango
文档中成功将WORD
替换为Apple
:
myDocRange.Find.Execute(FindText: "Apple", Format: false, ReplaceWith: "Mango", MatchWildcards: true, Replace: Word.WdReplace.wdReplaceAll);
但是如果文档具有双引号"
,并且您想将其替换为TEST
,则以下操作无效:
myDocRange.Find.Execute(FindText: "\"", Format: false, ReplaceWith: "TEST", MatchWildcards: true, Replace: Word.WdReplace.wdReplaceAll);
备注:如果我使用"\""
或""""
而不是使用@"""
,则会出现语法错误。
但是,以下操作在VBA
中有效。但我需要它在C#
中工作:
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = """"
.Replacement.Text = "TEST"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
根据MSDN,使用字符代码查找特殊字符:
FindText:
您可以通过指定适当的字符代码。例如,“ ^ p”对应于一个段落标记,“ ^ t”对应于制表符。
因此您需要将^34
用于"
:
myDocRange.Find.Execute(FindText: "^34", Format: false, ReplaceWith: "TEST", MatchWildcards: true, Replace: Word.WdReplace.wdReplaceAll);