程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#基礎知識 >> ScriptControl控件執行自定義VBS腳本示例分析

ScriptControl控件執行自定義VBS腳本示例分析

編輯:C#基礎知識

ScriptControl控件-msscript.ocx msscript.oca
代碼如下:

'AllowUI:可讀寫,布爾值,檢測是否允許運行用戶的接口元素.如果為False,則諸如消息框之類的界面元素不可見.
'CodeObject: 返回宿主被調用的特定的公用成員對象.只讀.
'Modules:只讀.返回宿主提供給腳本的組件庫模塊.COM組件通常都是以對象收集的形式向用戶提供可以留給用戶二次開發的對象集合,每一個收集即一個Modules(模塊).
'Language:設置或獲取腳本引擎解釋的語言,例如:VBScript.JScript.
'Name:返回模塊.過程.或者對象的名字,只讀屬性.
'Procedures:返回模塊中定義的過程,只讀.
'SitehWnd:窗口句柄,如果本控件以ActiveX控件創建,則此屬性為控件的容器;如果是以自動化對象創建,則為0,即桌面.此屬性可讀寫.
'State:設置或返回控件的狀態,如果為0,控件只執行語句但不轉發事件,為1則為加入的本控件接受的對象轉發事件.
'Timeout:設置或返回控件的相應腳本的超時值.當超時值到達時,將引發Timeout事件.也可設為-1,表示無超時設定.
'UseSafeSubset: 設置或返回宿主程序是否關心安全.宿主程序的安全級別可以從此屬性設置.
'Error:錯誤對象,發生錯誤時,此屬性返回一個錯誤對象.
'AddCode :往一個模塊加入一些代碼.格式為:AddCode code,可以調用多次.
'AddObject:向一個模塊加入一個對象,格式:ScriptControl.AddObject(name, object[,addMembers]),name為欲加入的對象名字,Object為實際的對象,addMembers為可選指示此對象是否為全局對象,False為局部對象.只有往本對象中加入對象後才能在腳本中使用
'Eval:求值表達式.格式為object.eval_r(expression) .
'ExecuteStatement: 解釋並執行腳本語句.格式: object.ExecuteStatement statement.
'Reset: 丟棄所有的對象和代碼.State屬性將為0.
'Run:運行一個指定的過程.格式:object.Run(procedureName,parameters()),procedureName為要運行的過程名,parameters()為參數
'僅有兩個事件:error 和TimeOut.前者可以用於錯誤捕獲,後者在腳本得不到響應時發生.
Private Sub Command1_Click()
Dim strFun As String
Dim a, b As Long
a = 2
b = 3
strFun = "function Add(a,b)" & vbCrLf & "Add=a+b" & vbCrLf & "End   Function" & vbCrLf
ScriptControl1.Modules.Add "MyCode"
ScriptControl1.Modules.Item(1).AddCode strFun
MsgBox ScriptControl1.Run("Add", a, b)
End Sub
Private Sub Command2_Click()
Dim CodeStr As String
CodeStr = "msgbox 2+3" & vbCrLf   
ScriptControl1.ExecuteStatement CodeStr
End Sub
Private Sub Command3_Click()      //運行print 運算表達式
Dim CodeStr As String
CodeStr = Text1.Text
CodeStr = Mid(CodeStr, 6)
MsgBox ScriptControl1.Eval(CodeStr)
End Sub

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved