小弟一个程序中需要实现动态代码,即在程序运行过程中生成代码,写成字符串,再用ExecuteStatement来执行字符串中的代码,如下所示,测试后发现可以运行,但是里面的变量的值不对,估计是作用域出了问题,如下,在ExecuteStatement “a=5”之后,外面更改了a=3,再运行ExecuteStatement "msgbox a"时a依旧是5,需求是在ExecuteStatement中更改了变量的值,在外面也跟着更改,而在外面更改了变量的值之后也一样,不知道该如何处理,非常感谢!
Private Sub Command1_Click()
Dim a As Integer
Dim ob As Object
Set ob = CreateObject("scriptcontrol")
ob.Language = "VBscript"
ob.ExecuteStatement "a = 5"
a = 3
ob.ExecuteStatement "msgbox a"