让你的软件支持宏功能

由于水平有限可能有说的不对的地方还请指出。十分感谢

说到宏,它也只是对软件的一种扩展方法,很多程序都是通过支持插件技术来扩展软件的,
但是支持宏的软件并不多,我认为很多时候通过宏来扩展软件机能要比开发一个插件程序来得方便!

相信很多朋友想了解这方面的东西,下边我来简单介绍一下。

在我看来Microsoft Office中的宏可以说是最强大的了,也就是我们所说的VBA。
作DB开发的朋友大多都用过PLSQL Developer,PLSQL Developer中实现的宏是
一种代表,它只记录你操作的按键顺序,执行宏时模拟按键处理来完成重复的操作,
你不能操作它程序内容的对象,所以说它的宏机能很弱。
另一种代表是各别的文本编辑软件,我比较喜欢EmEditor,它可以使用VBScript以及
JavaScript脚本来编程操作软件公开的所有对象的属性与方法。非常方便。

今天我们要说的是如果让软件支持VBScript、JavaScript脚本,
通过脚本编程来操控我们的软件。

机能实现主要是通过Microsoft Script Control 1.0(msscript.ocx)。
以下是用VB代码进行说明,很简短但是我相信各位开发者看后就以已明白了。
0001 Public Sub Main()
0002 
0003     Dim clsTest As New Class1
0004     Dim objSC As Object
0005     Dim strCode As String
0006 
0007     '初始化一个对象
0008     Set objSC = CreateObject("ScriptControl")
0009 
0010     With objSC
0011         '设置脚本引擎解释的语言("JScript")
0012         .Language = "VBScript"
0013         '消息框之类的界面元素可见
0014         .AllowUI = True
0015         '宿主程序的安全级别设置
0016         .UseSafeSubset = False
0017         '往脚本引擎加入一个我们程序中的对象,以便在脚本中可以使用该对象提供的方法等
0018         .AddObject "clsTest", clsTest, True
0019 
0020         '这是简短的两行代码测试用,在实际开发时可以是读取.vbs,.js中的所有代码。
0021         '以下代码完成更改clsTest类的Count属性值后在调用Hello方法以显示一个消息
0022         strCode = "clsTest.Count = 100" & vbCrLf
0023         strCode = strCode & "clsTest.Count = clsTest.Count -15"  & vbCrLf
0024     strCode = strCode & "Call Hello"
0025 
0026         '执行我们的代码
0027         Call .ExecuteStatement(strCode)
0028     End With
0029 
0030     '显示的内容为85,这说明在脚本中操作的对象和软件内操作的对象是一个:)
0031     MsgBox clsTest.Count
0032 
0033 End Sub
0034 
0035 Public Class1
0036     Public Count As Integer
0037 
0038     Public Sub Hello()
0039 
0040         Msgbox "Hello Microsoft Script Control"
0041 
0042     End Function
0043 End Class

关于Microsoft Script Control 1.0的使用可以在网上早到很多文档,
当然最方便的还是在IDE中按下F1来得方便:)。

如要转载请注明出处,谢谢。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值