通过使用Microsoft Script Control,我们可以轻松在程序里执行VBS脚本,实现类似Office宏的功能。新建一个标准EXE工程,并引用 Microsoft Script Control 1.0。
窗口代码如下:
'用户昵称: 留下些什么
'个人简介: 一个会做软件的货代
'优快云网址:https://blog.youkuaiyun.com/zezese
'电子邮箱:31319180@qq.com
Option Explicit
'先引用 Microsoft Script Control 1.0
Private Sub Command1_Click()
Dim MyScriptControl As ScriptControl
Set MyScriptControl = New ScriptControl
MyScriptControl.SitehWnd = Me.hWnd
MyScriptControl.Language = "VBScript" '设置语言为 VBS脚本
MyScriptControl.AddObject "MyForm", Me '把本窗口对象暴露给VBS脚本,对象名为MyForm。可以添加各种VB对象,包括自定义的类。
Dim strVBSCode As String
'方法1:直接执行代码
strVBSCode = "MyForm.Caption = ""VBS 修改标题栏文本"""
MyScriptControl.AddCode strVBSCode
'方法2:加入一个或者多个脚本函数,然后通过Run函数来执行
strVBSCode = "Sub Test()" & vbCrLf
strVBSCode = strVBSCode & "MsgBox MyForm.Caption " & vbCrLf
strVBSCode = strVBSCode & "End Sub"
Debug.Print strVBSCode
MyScriptControl.AddCode strVBSCode
MyScriptControl.Run "Test"
Set MyScriptControl = Nothing
End Sub