在VBScript中使用Eval和versa模式

在VBScript中使用Eval和versa模式,vbscript,eval,Vbscript,Eval,Eval功能的正常使用如下: ValueName2 = Eval("Value" + CStr(CurrentValue) + "Name2") 这可以根据CurrentValue返回Value[n]Name2 然后我如何尝试在versa模式下使用Eval: Eval("Value" + CStr(CurrentValue) + "Name2") = ValueName2 因此,无论原始变量是什么(例如:Value1Name2,,Value100Name2…),它都可以返回ValueName

Eval
功能的正常使用如下:

ValueName2 = Eval("Value" + CStr(CurrentValue) + "Name2")
这可以根据
CurrentValue
返回
Value[n]Name2

然后我如何尝试在versa模式下使用
Eval

Eval("Value" + CStr(CurrentValue) + "Name2") = ValueName2
因此,无论原始变量是什么(例如:
Value1Name2
,Value100Name2
…),它都可以返回
ValueName2

但是,这次当我检查
Value1Name2
的值时,它是空的,并且VB脚本也返回一个错误:

类型不匹配:“Eval”

那么如何在versa模式下使用
Eval


提前感谢。

Eval
将始终返回一个值,而不是变量引用,因此,您不能使用
Eval
来解决此问题

你可以用

Call Execute( "Value" + CStr(CurrentValue) + "Name2 = ValueName2" )

但是使用数组或字典更容易、更快。

Eval
将始终返回一个值,而不是变量引用,因此,您不能使用
Eval
来解决此问题

你可以用

Call Execute( "Value" + CStr(CurrentValue) + "Name2 = ValueName2" )

但是使用数组或字典更容易、更快。

我认为你不能这样使用
Eval
。使用
Regex
Split
。更简单。我不认为你可以这样使用
Eval
。使用
Regex
Split
。容易多了。