It'd probably be faster to read the list of words one time at the beginning and then just check them as you go


Option Explicit

Dim D As Object

Sub LoadDic()
    Dim strPath As String, strLine As String
    Dim FileNum As Integer
    
    Set D = CreateObject("Scripting.Dictionary")
    strPath = Environ("USERPROFILE") & "\My Documents\dic.txt"
    
    FileNum = FreeFile
    
    Open strPath For Input As #FileNum
    Do While Not EOF(FileNum)
        Line Input #FileNum, strLine
        Call D.Add(strLine, strLine)
    Loop
    Close #FileNum
End Sub

Function IsWord(s As String) As Boolean
    IsWord = D.exists(s)
End Function


Sub drv()
    MsgBox IsWord("cat")
    MsgBox IsWord("dog")
    MsgBox IsWord("zootoxin")
    
    MsgBox IsWord("qqqqqqqq")
End Sub