Функция VBScript для чтения нескольких строк не работает должным образом - PullRequest
0 голосов
/ 02 апреля 2019

У меня есть функция для чтения нескольких строк, которые я скопировал из другого потока здесь .

У меня есть весь нужный мне документ с именем строки strResult, я хочу сравнитьтолько поля в strList, и найдите их в strResult.

Это функция:

Function FindString(strCheck,strFind) 
    Arr = Split(strResult,",")
    Flag = 0

И я называю это так: Call FindString (strResult, strList)

For Each str in Arr    
  If InStr(strCheck, str) > 0 Then
  Flag = 1    
     Reporter.ReportEvent micPass,"Field Found","Field:"&str&" was found"
  Else
  Flag = 0
      Reporter.ReportEvent micFail,"Field not Found","Field:"&str&" was not found"
  End If
Next
If Flag = 1 Then
  FindString = True
  Reporter.ReportEvent micPass,"Field Found","Field"&str&"was found"
Else
  FindString = False
  Reporter.ReportEvent micFail,"Field not found","Field"&str&"was not found"
End If

Должен возвращаться сбой, когда поля не найдены, но он просто игнорирует их. Список строк находится в переменной, которая содержит что-то вроде «field1», & _ «field2», основная проблема заключается в том, чтодаже если «field3» отсутствует в strList, он будет отображаться как найденный, и я хочу, чтобы он принимал только те поля, которые находятся в strList, а не все строки strResult

1 Ответ

0 голосов
/ 03 апреля 2019

Я исправил функцию, разделив список значений, как это

Arr = Split(strCheck,",")
Arr2 = Split(strFind,",")
Flag = 0

For Each str in Arr  
    For Each str2 in Arr2
        If InStr(str, str2) > 0 Then
            Flag = 1    
            Reporter.ReportEvent micPass,"Field "&str2&" Found","Field:"&str&" was found"
            Exit For
        End If

    Next
...