如何将循环中的交互式值附加到字符串?

时间:2014-07-08 14:51:14

标签: vbscript

我无法弄清楚如何从每次循环迭代中获取值(例如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。如果有任何不清楚的地方请随意提出,我很乐意解释。

2 个答案:

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