使用VB6为Excel开发COM加载项.doc
文本预览下载声明
使用 VB6 为 Excel 开发 COM 加载项
本文通过两个简单的示例,详细描述了使用 VB6 开发 Excel COM 加载项的步骤。在本文的后
面,还介绍了 Excel 2007 中 COM 加载项的一些变化。
示例 1
步骤 1:启动 VB6,在“新建工程”对话框中选择“外接程序”,单击“打开”按钮,如下
图 1 所示。
图 1:“新建工程”对话框
VB6 将自动创建一个名为 MyAddIn 的工程,包含一个名为 frmAddIn 的窗体和一个名为
Connect 的 Designer 类变量。
步骤 2:将工程名称修改为 MyFirstCOMAddIn。
步骤 3:删除默认的窗体 frmAddIn。
步骤 4:删除 Connect 中的全部代码。
步骤 5:在工程资源管理器窗口双击 Connect 打开加载项设计器窗口,并对其进行相应的
设置,如下图 2 所示。使用 VB6 为 Excel 开发 COM 加载项
图 2:进行加载项设置
如上图 2 所示,在“通用”选项卡中设置 COM 加载项在 Excel 的 COM 加载项对话框中显示
的名称及相应的描述。设置“应用程序”为 Microsoft Excel,根据用户计算机上安装的 Excel
选择相应的应用程序版本,这里选择“Microsoft Excel 14.0”,即 Excel 2010。选择初始化加
载行为为“Startup”,即在 Excel 启动时运行该加载项,还可以选择其它的加载选项。
加载项设置说明:
( 外接程序显示名称:填写加载项的名字
( 外接程序描述:描述所创建的加载项的作用和功能
( 应用程序:使用所创建的加载项的应用程序。
( 应用程序版本:使用所创建的加载项的应用程序的版本。
( 初始化加载行为:当应用程序开启时,是否自动装载该加载项,有四个选项。若设
置为 Startup,则 Excel 启动时装载该加载项;若设置为 Load on demand,则在 Excel
中需要使用该加载项时再装载该加载项。
步骤 6:在工程资源管理器窗口的 Connect 中单击右键,选择“查看代码”,打开代码窗口。
步骤 7:在代码窗口顶部左侧的对象列表框中选择 AddinInstance 对象,在右侧的事件列表
框中选择 OnConnection 事件,输入的代码如下:
- 2 -
fanjy_EH使用 VB6 为 Excel 开发 COM 加载项
Private Sub AddinInstance_OnConnection(ByVal Application As Object, _
ByVal ConnectMode As AddInDesignerObjects.ext_ConnectMode, _
ByVal AddInInst As Object, custom() As Variant)
MsgBox 这是使用 VB6 创建的 COM 加载项.
End Sub
然后,再在事件列表框中选择 OnDisconnection 事件,输入的代码如下:
Private Sub AddinInstance_OnDisconnection(_
ByVal RemoveMode As AddInDesignerObjects.ext_DisconnectMode, custom() As Variant)
MsgBox Excel 工作簿将要关闭,里面的数据已经保存了吗?
End Sub
步骤 8:保存所有的工程文件。
步骤 9:单击菜单“文件——生成 MyFirstCOMAddIn.dll”。
至此,这个简单的 COM 加载项编写完成。
步骤 10:打开 Excel 2010,将会出现一个消息框,显示在 COM 加载项的 OnConnection 事
件中设置的消息,如下图 3 所示。
图 3:这个加载项运行后显示的结果
关闭 Excel 2010 时,将会出现一个消息框,显示在 COM 加载项的 OnDisconnection 事件中设
置的消息,如下图 4 所示。
图 4:这个加载项运行后显示的结果
这个加载项之所以会在 Excel 2010 会话开启时运行,是因为我们在设置加载项时选择了选项
“Startup”,即在 Excel 启动时加载该加载项。
单击“开发工具”选项卡“加载项”组中的“COM 加载项”,显示“COM 加载项”对话框,
列出了所有可用的 COM 加载项,如下图 5 所示。在该对话框中,可以取消某加载项前的复
选,使其不可用,或者通过“删除”按钮删除该加载项。
- 3 -
fanjy_EH使用 VB6 为 Excel 开发 COM 加载项
图 5:控制加载项的使用
示例 2:一个菜单 COM 加载项
本示例的步骤与示例 1
显示全部