我有代碼基於字符串使用Eval和執行生成變量。 但是,無論出於何種原因,當我試圖將變量設置爲變量時,Execute將空變量留空。但是,如果我將它設置爲一個字符串正常工作手動VBScript執行不爲變量,但爲字符串
這不起作用,給人一個空盒子:
For j = 0 To 2
name = "alias_" & j
val = "test"
Execute(Eval("name") + "=" + val)
msgbox(Execute(Eval("name"))
Next
這並不工作,顯示了MSGBOX「測試」:
For j = 0 To 2
name = "alias_" & j
Execute(Eval("name") + "=" + "test")
msgbox(Execute(Eval("name"))
Next
所以執行似乎不喜歡這裏的變量。更奇怪的是,在我的VBSEdit調試器中,我可以看到當地人,它創建了一個名爲「test」的局部變量,而不是將值設置爲alias_j變量。現在完全混淆了我。
不要構建這樣的變量的值。永遠。如果你需要索引變量:使用數組。這就是他們發明的。 – 2014-10-06 16:20:41
其實我會用字典..並會使用字典..有字典的另一個VB - ISM,所以我想嘗試一些更有創意的數組,但不想迭代數組。但是現在我的字典正常工作,所以這已經失效了。還有很好的信息......人們太害怕2個最強大的功能。 – Dss 2014-10-06 20:32:36
你很迷惑「害怕」和「謹慎」。 – 2014-10-07 06:48:05