如果在字典中找不到任何捕获的单词,我需要获取false值。但到目前为止,我得到的是,如果它在决策中找到至少一个词,它就会返回值true。
Sub stringnotfound()
Dim ibmCurrentTerminal As IbmTerminal
Dim ibmCurrentScreen As IbmScreen
Dim hiddenTextEntry As String
Dim returnValue As Integer
Dim timeout As Integer
Dim waitText As String
Dim alert(0 To 1) As String
timeout = 15000
Set ibmCurrentTerminal = ThisFrame.SelectedView.control
Set ibmCurrentScreen = ibmCurrentTerminal.screen
Dim Pos(1) As String
Dim wordDictonary As String
Dim myArray As Variant
Dim cnt As Long
Dim lin As Long
Dim hasWord As Boolean
wordDictonary = "Lorem ipsum1,Lorem ipsum2,Lorem ipsum3,Lorem ipsum3,Lorem ipsum3,Lorem ipsum4"
myArray = Split(wordDictonary, ",")
If ibmCurrentScreen.GetText(13, 7, 12) <> "" Then Pos(0) = ibmCurrentScreen.GetText(13, 7, 12)
If ibmCurrentScreen.GetText(14, 7, 12) <> "" Then Pos(1) = ibmCurrentScreen.GetText(14, 7, 12)
For lin = 0 To 1
For cnt = LBound(myArray) To UBound(myArray)
If InStr(1, Pos(lin), Trim(myArray(cnt))) Then hasWord = True
Next cnt
Next lin
If hasWord = False Then MsgBox "captured" & MISSING & "words missing from the dictionary"
End Sub
如有任何帮助,我们将不胜感激。非常感谢。
如果您使用字典对象并检查字典中是否有单词,代码将被简化并按您的意愿工作:
Dim i As Integer
Dim MyDictionary As Dictionary
Dim MyWords(1) As String
Set MyDictionary = New Dictionary
MyDictionary.Add "Lorem ipsum1", "Lorem ipsum1"
MyDictionary.Add "Lorem ipsum2", "Lorem ipsum2"
MyDictionary.Add "Lorem ipsum3", "Lorem ipsum3"
MyWords(0) = "Lorem ipsum2"
MyWords(1) = "Lorem ipsum4"
For i = LBound(MyWords) To UBound(MyWords)
If Not MyDictionary.Exists(MyWords(i)) Then
MsgBox "Words missing from the dictionary"
Exit For
End If
Next