本文内容:VB6企业版封装sub过程,做COM加载项
适用范围:32位excel。
只讲步骤,不讲深层次原理,因为我也不懂。
我们了解到,封装COM加载项的难点有两个:一是XML代码的编写(用来生成功能区外观菜单的),二是application对象替换为某个代指它的变量。刚听是有点懵逼,听我慢慢说来。
知识点准备(先把这两个难点说说,其他就是按模板步骤傻瓜操作即可。)
▌XML代码
XML代码和解释如下:
我们要做自己的菜单栏的话,就是用下述代码修改为自己想要的样式。
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon>
<tabs>
<tab id="t1" label="Excel小白工具箱" >
<group id="Group1" label="我的工具">
<button id="button1" label="删除选区" imageMso="HappyFace" size="large" onAction="del"/>
</group>
</tab>
</tabs>
</ribbon>
</customUI>
▌将VBA代码中的省略掉的application加上变量xlapp/
VBA代码中的application替换为某个代指它的变量
比如:
Sub del() Selection.Clear End Sub
写在VB6.0模块中的时候就要修改为
Sub del()
xlapp.Selection.Clear
'xlapp是自己定的,VB6.0中定义全局变量的时候定义的是啥,这里就写啥
End Sub
比如:
Application.ScreenUpdating = False
Application.ScreenUpdating = True
改为:
xlapp.ScreenUpdating = False
xlapp.ScreenUpdating = True
基础准备工作已做完
接下来说傻瓜步骤:
▼
●第一步:打开VB6.0企业版,新建项目→外接程序(必须是企业版,才有外接程序)
后台回复“VB6”获取VB6.0企业版软件。
●第二步:
添加对Excel程序的引用。勾选“Microsoft Excel 14.0 Object Library”和
“Microsoft Office 14.0 Object Library” 默认的是Office2010选14.0版本。
年份版本对应关系:
office2003 : 11.0/office2007: 12.0/office2010 : 14.0/office2013: 15.0
注意:如果电脑中同时安装WPS或者其他版本office,切记要把其引用去掉,否则无法勾选“Microsoft Excel 14.0 Object Library”和“Microsoft Office 14.0 Object Library”
●第三步:
移除工程资源管理器中窗体控件,有个connect的设计器,右键“查看对象”,对他的属性进行修改。
●第四步:
工程—添加模块,写入“Public xlapp As Excel.Application”’声明一个公共变量,代表Excel。
●第五步:
工程资源管理器中有名为connect的设计器,右键“查看代码”,删除原有所有代码。
原文粘贴如下代码:只需修改核心语句
上面图中代码如下:
Implements IRibbonExtensibility
Private Function IRibbonExtensibility_GetCustomUI(ByVal RibbonID As String) As String
IRibbonExtensibility_GetCustomUI = LoadResString(101)
'用 LoadResString函数读取资源编辑器中标识号为101的字符串,然后将这个字符串赋值给IRibbonExtensibility_GetCustomUI,COM加载项会调用本函数的返回值去创建功能区菜单
End Function
Private Sub AddinInstance_OnConnection(ByVal Application As Object, ByVal ConnectMode As AddInDesignerObjects.ext_ConnectMode, ByVal AddInInst As Object, custom() As Variant)
Set xlapp = Application
End Sub
Sub del(control As IRibbonControl)
xlapp.Selection.Clear
End Sub
'核心语句:你要封装什么sub过程就写在这里即可。
(control As IRibbonControl)不可省略。
●第六步:
单击菜单“外接程序”---“外接程序管理器”。在“可用外接程序”列表中选择“VB6 资源编辑器”,将下方“加载/卸载”复选框勾选。点“确定”。
单击“工具”----“资源编辑器”,单击工具栏
●第七步:
生成DLL并注册
注册:
新建文本文件,将如下代码粘贴进去,保存,后缀名改为bat。
regsvr32 C:\Users\Administrator\Desktop\MyAddIn.dll
卸载:
regsvr32 /u C:\Users\Administrator\Desktop\MyAddIn.dll
双击运行注册bat,大功告成!!可以撒花了
我们来测试一下功能:
完美运行!
这只是一个简单的例子,复杂的比如:设置其他种类的按钮。自己摸索或者和我讨论均可。有这个引子,其余的都不是事。
联系客服