这个小小的 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 不会纠正或提供纠正拼写错误的单词,它只返回 TrueFalse
我测试过
?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/

10-13 06:31