1 新建工程中选择"外接程序",点击打开之后右侧的属性窗口即显示为MyAddIn工程。(注意如果你使用的是VB精简版的没有"外接程序"的选项,请下载完整版的)

 

2 右击MyAddIn,点击MyAddIn属性,你可以修改工程名称(暂时不需要修改别的东西),点击确定

 

3 展开窗体文件夹,右击frmAddIn,点击移除frmAddIn,结果只剩下设计器(里面有一个Connect文件)

 

4 右击这个Connect文件,点击查看代码,然后删除全部代码

 

5 双击Connect文件,修改应用程序为Microsoft Excel,依次如图所示(你也可以修改外接程序显示名称和描述)

 

6 点击左侧的下拉列表,选择AddInstance,随后代码自动变成了"Private Sub……"我们只在里面写一个Msgbox作为测试,然后去拉右侧列表,选择OnDisconnection,在里面也加入一个Msgbox

 

7 此时可以保存文件了,注意格式是Dsr文件

 

8 然后点击文件,生成MyFirstCOMAddIn.dll,点击确定之后即可生成。

 

9 手工注册这个dll文件,方法是打开运行对话框,输入"Regsvr32+空格+dll文件路径"

Regsvr32 C:\Users\Administrator.ACE--20120120JX\Desktop\Connect\MyFirstCOMAddIn.dll

 

10 随后启动Excel即可发现该COM得到了加载,关闭的时候也一样

 

11 如果是想要做成软件,则可以做一个批处理命令,先解压到一个指定目录,然后注册dll文件即可。当然,你如果想要"卸载"这个软件,反注册一下这个dll文件即可。命令是:"regsvr32 /u+空格+dll文件路径",此外如果你下次要编辑这个程序,直接双击Dsr文件即可。

regsvr32 /u C:\Users\Administrator.ACE--20120120JX\Desktop\Connect\MyFirstCOMAddIn.dll

 

12 当然,你也可以把COM加载项这个菜单显示出来,点击工具-自定义,在命令选项卡中点击工具,把右侧的"COM加载项"拖放到工具条上

 

13 这样你就可以选择启动那个COM加载项了,不变一直注册和反注册dll文件。

如何使用VB编写Excel的COM组件的更多相关文章

  1. C#/VB.NET Excel数据分列

    C#/VB.NET Excel数据分列 有时候我们需要将保存在Excel单元格中的组合型数据拆分为多列(如将全名拆分为姓和名两列)以方便我们处理.记忆或保存.为了避免重复和大量的手动输入工作,Exce ...

  2. 用VB操作Excel的方法

    VB是常用的应用软件开发工具之一,由于VB的报表功能有限,而且一但报表格式发生变化,就得相应修改程序,给应用软件的维护工作带来极大的不便.因此有很多程序员现在已经充分利用EXECL的强大报表功来实现报 ...

  3. 计算机管理系统——VB与Excel联系

    今天爆震室管理系统--学生查看机器状态的时候发现有一个"导出到excel"的button.我去.感情还得跟excel表链接. 于是我咬碎了一地小银牙.一个下午都在查询vb与exce ...

  4. VB中Excel 2010的导入导出操作

    VB中Excel 2010的导入导出操作 编写人:左丘文 2015-4-11 近来这已是第二篇在讨论VB的相关问题,今天在这里,我想与大家一起分享一下在VB中如何从Excel中导入数据和导出数据到Ex ...

  5. 编写轻量ajax组件01-对比webform平台上的各种实现方式

    前言 Asp.net WebForm 和 Asp.net MVC(简称MVC) 都是基于Asp.net的web开发框架,两者有很大的区别,其中一个就是MVC更加注重http本质,而WebForm试图屏 ...

  6. VB操作EXCEL文件

    用VB操作Excel(VB6.0)(整理) 首先创建Excel对象,使用ComObj:Dim ExcelID as Excel.ApplicationSet ExcelID as new Excel. ...

  7. VB编写的验证码生成器

    验证码(CAPTCHA)是“Completely AutomatedPublicTuring test to tell Computers andHumansApart”(全自动区分计算机和人类的图灵 ...

  8. Laravel 项目中编写第一个 Vue 组件

    和 CSS 框架一样,Laravel 不强制你使用什么 JavaScript 客户端框架,但是开箱对 Vue.js 提供了良好的支持,如果你更熟悉 React 的话,也可以将默认的脚手架代码替换成 R ...

  9. java通过poi编写excel文件

    public String writeExcel(List<MedicalWhiteList> MedicalWhiteList) { if(MedicalWhiteList == nul ...

随机推荐

  1. 17 C#中的循环执行 while循环

    在编程中有代码的执行主要有三种方式.(1)顺序执行,也就是一条语句一条语句按顺序执行:(2)条件执行,也就是if...else.当某种条件满足时执行一些代码:(3)循环执行,就是当某种条件满足的时候, ...

  2. Django基础之admin功能

    Django默认开起了后台 1.访问admin后台 2.用户和密码进行登录 ============================================================== ...

  3. sql server nullif的使用技巧,除数为零的处理技巧

    在sql server中做除法处理的时候,我们经常需要处理除数为零的情况,因为如果遇到这种情况的时候,sqlserver会抛出遇到以零作除数错误的异常,我们总不希望把这个异常显示给用户吧. 做个会报这 ...

  4. 【译】x86程序员手册31- 第9章 异常和中断

    Chapter 9 Exceptions and Interrupts 第9章 异常和中断 Interrupts and exceptions are special kinds of control ...

  5. AMH V4.5 – 基于AMH4.2的第三方开发版

    AMH V4.5[基于AMH4.2第三方开发版]重新部署了一次安装脚本,修改一系列BUG,已完美支持CENTOS7,树莓派,Fedora,Aliyun,Amazon,debian,Ubuntu,Ras ...

  6. PHP填坑

    这里记录下最近PHP踩过的坑,很多都是语法性错误 (1)函数结尾忘记加: 例如匿名函数 <?php $show = function($value){ echo $value."你好& ...

  7. BZOJ1509: [NOI2003]逃学的小孩 (树形DP)

    题意:给一棵树 选三个点A,B,C 求A到B的再从B到C的距离最大值 需要满足AB的距离小于AC的距离 题解:首先树上的最大距离就想到了直径 但是被样例误导了TAT BC两点构成了直径 我一开始以为A ...

  8. <MyBatis>入门三 sqlMapper文件

    增加 1.增删改在接口中的返回值 Integer.Long.Boolean.void 返回影响多少行 或 true | false 2.mapper 中 增删改没有返回值 (resultType或re ...

  9. 2018百度之星资格赛T2 子串查询

    [题解] 很容易想到暴力做法:对于每个询问暴力查找区间内的最小字母,统计其出现次数.效率O(N^2),无法通过全部数据. 我们可以换一个思路,设f[i][j]为第i个字母(字母‘A'到’Z'分别对应0 ...

  10. JavaScript 面向对象的编程(三) 类的继承

    定义父类和子类的继承关系 //声明父类 function SuperClass(){ this.superValue = true; } //为父类添加共有方法 SuperClass.prototyp ...