QTP: Checking If an array of strings contains a value

Strings in VBScript are not objects, in that they do not have member functions. Searching for a substring should be done by using the InStr function.

For j=Lbound(options) to Ubound(options)
    If InStr(options(j), choice) <> 0 Then
        MsgBox("Found " & choice & " at index " & j
    Else
        MsgBox "String not found!"
    End If
Next

A concise way to check if an array of strings contains a value would be to combine the Filter and UBound functions:

If Ubound(Filter(options, choice)) > -1 Then
    MsgBox "Found"
Else
    MsgBox "Not found!"
End If

Cons: you don't get the indexes where the elements are found

Pros: it's simple and you have the usual include and compare parameters to specify the matching criteria.