在form1上有一个textbox(text1),一个commandbutton(command1),
按^t往工程里加入Microsoft Script Control 1.0,
并加到form1上(ScriptControl1);
设text1的multiline为true(设计时)。Private Sub Command1_Click()
ScriptControl1.ExecuteStatement Text1
End SubPrivate Sub Form_Load()
ScriptControl1.AddObject "Form1", Me, True
End Sub'--------------------
运行,在text1里写入:
   form1.caption=now
   msgbox "test"
   form1.backcolor=vbred
按command1,即可看到这些代码被执行。
更多有关scriptcontrol的细节自己上msdn看~

解决方案 »

  1.   

    呵呵,以前csdn下载的,希望对你有用:表达式计算控件:MS Script Control控件
    让用户在一个文本框中输入表达式:324*5.5+(240-16)/4,然后按一下按纽就Msgbox结果,看来容易吗?其实不然,在编程代码中是直接写的,但要程序运行时具有此功能,能运算用户的表达式,不易(一个符号一个符号检测都不行——还有括号呢)。
    VB总是十分容易,只要一个控件,MS Script Control,一切轻松搞定。
    该控件能运行VBScript代码!也就是将代码作为一个字符串,赋予控件的ExecuteStatement方法,就能在程序运行时运行用户输入的“代码”。比如:
    Private Sub Command2_Click()
      CodeStr = "a=3" & vbCrLf & "b=4" & vbCrLf & "Msgbox ""a+b="" & a+b"
      ScriptControl1.ExecuteStatement CodeStr
    End Sub
    代码是有格式的,因此上面vbCrlf换行符不能丢。你也可以直接给用户提供一个文本框作为代码窗口,让他在文本框里输入多行代码,然后用ScriptControl运行之,就象在VBScript开发环境中点击“运行”一样。
    有了这个控件,计算用户的表达式就很容易了:
    Dim CalcStr As String                            ‘TEXT1由用户输入表达式。
    CalcStr = "x=" & Text1.Text & vbCrLf & "MSGBOX ""计算结果="" & x"
    ScriptControl1.ExecuteStatement CalcStr
      

  2.   

    我自定义了一个函数GetMyStr(), 请问,为什么在ScriptControl中不能使用自定义函数呢?谢谢!