重生之歌坛传奇 顶点:使用VB6编写COM加载项(方法一:AddinInstance)

来源:百度文库 编辑:九乡新闻网 时间:2024/04/29 01:32:59
下面记录下使用VB6为Excel创建COM加载项的步骤,以供日后有用时参考。
步骤1:打开VB6。在“新建工程”对话框中选择“外接程序”,单击“打开”按钮,如下图所示。
 
此时,创建一个名为MyAddIn的工程,包含一个名为frmAddIn的窗体和一个名为Connect的Designer类变量。
步骤2:将工程名称改为MyFirstCOMAddIn。
步骤3:删除默认的窗体frmAddIn。
步骤4:删除Connect中的全部代码。
步骤5:在工程资源管理器窗口双击Connect打开加载宏设计器窗口,并对其进行相应的设置,如下图所示。
 
上图中,在“通用”选项卡中设置了COM加载项在Excel的COM加载项对话框中显示的名称及相应的描述,并设置应用程序为Microsoft Excel,选择初始化加载行为为Startup,表示在Excel每次启动时都运行该加载项,当然还有其他三个选项分别设置何时启用加载项。该对话框还有一个名为“高级”的选项卡,此时我们暂且不用。
步骤6:在工程资源管理器窗口右击Connect,选择“查看代码”,打开代码窗口。
步骤7:在代码窗口顶部左侧的对象列表框中选择AddinInstance对象,在右侧的事件列表框中选择OnConnection事件,并输入下面的代码:
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 2003,将会出现一个消息框,这是在COM加载项的OnConnection事件中设置的,如下图所示。
 
关闭Excel 2003时,将会出现一个消息框,这是在COM加载项的OnDisconnection事件中设置的,如下图所示。
 
这的加载项之所以在Excel 2003会话开启时运行,是因为我们在设计加载项时选择了选项Startup,即在Excel启动时加载该加载项。下面,在Excel 2003中设置能够启动或关闭COM加载项。
步骤11:在Excel 2003中单击菜单“工具——自定义”,在“自定义”对话框中的选择“命令”选项卡,在左侧的类别列表框中选择“工具”,在右侧的命令列表框中找到“COM加载项”条目(如下图所示),并将其拖至Excel菜单栏中“工具”菜单下。单击“关闭”按钮关闭自定义对话框。
 
步骤12:单击菜单“工具——COM加载项”,弹出“COM加载项”对话框,其中列出了所有可用的COM加载项,如下图所示。
 
为了使刚创建的My First COM Add-In加载项不可用,可取消其前面的复选框选择。也可以通过“删除”按钮删除该加载项。