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