这个小小的 Excel VBA 函数总是返回 false,没有传入什么词。
Function SpellCheck(SomeWord As String)
SpellCheck = Application.CheckSpelling(SomeWord)
End Function
事实上,在 IDE 中我可以验证 Application.CheckSpelling("hello") 失败,尽管 Excel 拼写检查器确实检测到拼写错误。
如果拼写正确,我想要做的是为每个单词获取 T/F 值。
最佳答案
就像我在评论中提到的那样,它有效。
Option Explicit
Sub Sample()
MsgBox SpellCheck("hello") '<~~ Returns True
MsgBox SpellCheck("daasd") '<~~ Returns False
End Sub
Function SpellCheck(SomeWord As String) As Boolean
SpellCheck = Application.CheckSpelling(SomeWord)
End Function
Application.CheckSpelling
不会纠正或提供纠正拼写错误的单词,它只返回 True
或 False
我测试过
?Application.CheckSpelling("hello")
在即时窗口中,它返回
True
编辑 :从 UDF 调用
Application.CheckSpelling
将始终返回 False
。上次我检查的时候,它仍然是一个错误,没有办法解决它。如果最近有更新,那么我不知道。 :)更多编辑
这是您稍微修改的函数,它也可以用作 UDF :)
从这个 link 得到了这个想法
Function SpellCheck(rng As Range) As Boolean
Dim oxlAp As Object
Set oxlAp = CreateObject("Excel.Application")
SpellCheck = oxlAp.CheckSpelling(rng.Value)
oxlAp.Quit
Set oxlAp = Nothing
End Function
关于excel - Excel 函数中的单个单词拼写检查,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10776191/