我无法弄清楚如何从每次循环迭代中获取值(例如a = 1到100),并将其附加到用于每次迭代将执行的命令的字符串。 / p>
我想要做的一个例子如下所示,如果我的上述解释有些令人困惑,我可以更清楚一点。一些伪代码,因为我不完全熟悉VB代码语法:
For a=1 to 100
**variable** = "M"+CStr(a);
workspace.Designs.Sch1.PartList.**variable**.ParamSet.RAD.Set(4);
Next
所以第一次通过变量将是M1,然后是M2,M3,M4,一直到M100。如果有任何不清楚的地方请随意提出,我很乐意解释。
答案 0 :(得分:4)
正如我在上面的评论中提到的,您不能使用字符串代替对象/变量名称。您可以尝试使用Execute()
函数,该函数类似于JavaScript等其他语言中的eval()
。 Execute()
接受一个字符串表达式并执行它,好像它是一个或多个VBScript语句。
For a = 1 To 100
strCommand = "workspace.Designs.Sch1.PartList.M" & a & ".ParamSet.RAD.Set 4"
Execute strCommand
Next
旁注:我删除了你的分号。 VBScript不会将它们用作换行符。我还删除了4
周围的parens。这里也不需要它们。
答案 1 :(得分:0)
试试这个:
Dim a
Dim output
For a = 1 To 100
If (Len(output) > 0) Then output = output & ", "
output = output & "M" & a
'execute your command here.
Next