SAS vbs自动批处理中的if语句

时间:2015-07-31 04:35:48

标签: sas

我正在使用在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

2 个答案:

答案 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