VBScript の Eval を使う

ScriptControlによるeval(AccessにあってVBに無いもの)より。


Module Module1
Function VBSEval(ByVal vbsExp As String)
Dim sc As Object
sc = CreateObject("ScriptControl")
sc.Language = "VBScript"
VBSEval = sc.Eval(vbsExp)
sc = Nothing
End Function


Public Sub Main()
Dim calc As Object = VBSEval("1+2+3")
Dim ary() As Object = VBSEval("Array(10,20,30)")
Dim str() As Object = VBSEval("Array(""Hello"","" "",""World!"")")
System.Console.WriteLine(calc)
System.Console.WriteLine(ary(0) + ary(1) + ary(2))
System.Console.WriteLine(str(0) + str(1) + str(2))
End Sub 'Main
End Module

./console
6
60
Hello World!
2次元配列がうまく動かない・・・。