我正在使用在Windows cmd上运行的vb脚本开发SAS自动化, 我的问题是,如何获得LIKE比较工作:
For Each objItem in objProjectItems
If objItem.Name Like "RC%" = True Then
'objTasks = objItem.Name.Tasks
End if
Next
结果是所有比较得到一个真,除了我把
A = 123
A = B result is True ! omg
此部分代码的目的是获取动态对象项名称,然后将输出另存为excel :
Set objResults1 = objTasks("Compare Data").Results
Set objResultsR = objResults1("Listing - Compare Data")
objResultsR.SaveAs .....xls
谢谢!
有关使用以下代码的更多信息:
Dim objProjectItems
Set objProjectItems = prjObject.ProjectItems
答案 0 :(得分:0)
VBA和VB脚本中的 Like 运算符不能用作SQL中的 Like 运算符,也不能用作正则表达式。它的工作方式如described here中所述。
您的代码应为
For Each objItem In objProjectItems
If objItem.Name Like "RC*" Then
'objTasks = objItem.Name.Tasks
End If
Next
(= True
是多余的:objItem.Name Like "RC*"
是一个布尔表达式,当且仅当它为真时才等于True
:)
答案 1 :(得分:0)
最后,我使用instr搜索并返回positino以达到同样的目的:
If instr(objItem.Name, "RC_S") = 1 Then