VBScript lacks a Like operator. A common approach is to translate the pattern strings to use VBScript’s RegExp object, but you could use the IsLike function below instead:
Public Function IsLike(ByVal Input, ByVal Pattern) If Input = "" Xor Pattern = "" Then IsLike = False Exit Function End If If Input = "" And Pattern = "" Then IsLike = True Exit Function End If With CreateObject("VBScript.RegExp") .Global = True .Pattern = "+(?=x5B*(?!x5D))" Pattern = .Replace(Pattern, "+") .Pattern = ".(?=x5B*(?!x5D))" Pattern = .Replace(Pattern, ".") .Pattern = "{(?=x5B*(?!x5D))" Pattern = .Replace(Pattern, "{") .Pattern = "}(?=x5B*(?!x5D))" Pattern = .Replace(Pattern, "}") .Pattern = "((?=x5B*(?!x5D))" Pattern = .Replace(Pattern, "(") .Pattern = ")(?=x5B*(?!x5D))" Pattern = .Replace(Pattern, ")") .Pattern = "|(?=x5B*(?!x5D))" Pattern = .Replace(Pattern, "|") .Pattern = "?(?=x5B*(?!x5D))" Pattern = .Replace(Pattern, ".") .Pattern = "*(?=x5B*(?!x5D))" Pattern = .Replace(Pattern, ".*") .Pattern = "#(?=x5B*(?!x5D))" Pattern = .Replace(Pattern, "d") .Pattern = "[!(?=x5B*(?!x5D))" Pattern = .Replace(Pattern, "[^") Pattern = "^" & Pattern & "$" .Pattern = Pattern IsLike = .Test(Input) End WithEnd Function