如何忽略字符串VBA单词的所有拼写错误?
我有几个拼写错误的清单。我正在寻找一种方法来忽略列表中某些单词的所有拼写错误 下面的代码似乎有效,但仅适用于使用样式“Test”格式化的文本 有没有办法通过VBA制作这样的东西如何忽略字符串VBA单词的所有拼写错误?,vba,ms-word,Vba,Ms Word,我有几个拼写错误的清单。我正在寻找一种方法来忽略列表中某些单词的所有拼写错误 下面的代码似乎有效,但仅适用于使用样式“Test”格式化的文本 有没有办法通过VBA制作这样的东西 ActiveDocument.String("MyWord").SpellingErrors.IgnoreAll 可以使用Word的Find/Replace功能定位单词并应用noproventing格式。该功能允许搜索字符串并通过Replace应用格式而不影响(删除)搜索词 下面的代码片段说明了这一点。有两种变体:
ActiveDocument.String("MyWord").SpellingErrors.IgnoreAll
可以使用Word的
Find/Replace
功能定位单词并应用noproventing
格式。该功能允许搜索字符串并通过Replace
应用格式而不影响(删除)搜索词
下面的代码片段说明了这一点。有两种变体:
Sub FindToNoSpellCheck()
Dim rng As Word.Range
Dim findText As String
Dim bFound As Boolean
Set rng = ActiveDocument.content
findText = "InsertY"
Do
With rng.Find
.ClearFormatting
.Text = findText
.Format = True
.MatchCase = True
.Replacement.NoProofing = True
.Replacement.Text = ""
.Wrap = wdFindStop
.Execute Replace:=wdReplaceAll
' bFound = .Execute()
' If bFound Then
' rng.NoProofing = True
' rng.Collapse wdCollapseEnd
' End If
End With
Loop While bFound
End Sub
这里有
Document.ShowSpellingErrors
属性,如果您不想让它们出现,可以将其设置为False
。谢谢您的回答。但如果我这样做了,一般来说,我会忽略所有的拼写错误,而不是特定的文本字符串,对吗?非常好的Cindy。非常感谢你的帮助。它对我很管用。正如你所说,红色的弯曲下划线没有被删除,但我注意到,如果我右键点击一个单词,红色下划线就会消失。“这很奇怪。”GerCas我认为原因是视觉界面和应用程序速度的问题。为了优化后者,在第一种情况下,动态拼写检查和屏幕刷新不在后台执行;宏中的操作不会触发它们。
Sub FindToNoSpellCheck()
Dim rng As Word.Range
Dim findText As String
Dim bFound As Boolean
Set rng = ActiveDocument.content
findText = "InsertY"
Do
With rng.Find
.ClearFormatting
.Text = findText
.Format = True
.MatchCase = True
.Replacement.NoProofing = True
.Replacement.Text = ""
.Wrap = wdFindStop
.Execute Replace:=wdReplaceAll
' bFound = .Execute()
' If bFound Then
' rng.NoProofing = True
' rng.Collapse wdCollapseEnd
' End If
End With
Loop While bFound
End Sub