我尝试使用单词对字符串进行拼写检查,但我不想手动检查每个单词并确定正确的拼写。有没有办法自动执行此操作,以便它自己纠正所有拼写错误的单词?这是我的代码到目前为止,这是有效的,但我必须通过每个单词并点击更改......
If Address.Length > 0 Then
Dim word_server As New Word.Application
word_server.Visible = False
Dim doc As Word.Document = word_server.Documents.Add()
Dim rng As Word.Range
rng = doc.Range()
rng.Text = Address
doc.Activate()
doc.CheckSpelling()
Address = doc.Range().Text
doc.Close(SaveChanges:=False)
word_server.Quit()
doc = Nothing
rCell.Value = Address
End If
答案 0 :(得分:1)
使用GetSpellingSuggestions
功能绕过GUI。看看是否有任何拼写建议,然后你可以将它设置为第一个建议(这可能是一个坏主意)。
您想如何确定正确的拼写是什么? “spon”应该是勺子,跨度,旋转,旋转还是儿子?该代码乐观地假设第一个建议(如果存在)是正确的解决方案。
宣告:
Dim oError As Word.Range
然后替换:
doc.Activate()
doc.CheckSpelling()
使用:
For Each oError In rng.SpellingErrors
If oError.GetSpellingSuggestions.Count > 0 Then
oError.Text = oError.GetSpellingSuggestions().Item(1).Name
Else
'Uh oh, no suggestions, do something here.
End If
Next
答案 1 :(得分:0)
这些网站可能有所帮助。网站中的示例代码显示了如何调用Word进行拼写检查。您应该能够对其进行修改,以便与您的代码一起使用。
http://www.vb-helper.com/howto_net_spellcheck.html
http://www.vbforums.com/showthread.php?307151-SPELL-CHECK-and-WORD