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. CF817B Makes And The Product

    思路: 模拟,数学. 实现: #include <iostream> #include <cstdio> #include <algorithm> using na ...

  2. STL容器迭代过程中删除元素技巧(转)

    1.连续内存序列容器(vector,string,deque) 序列容器的erase方法返回值是指向紧接在被删除元素之后的元素的有效迭代器,可以根据这个返回值来安全删除元素. vector<in ...

  3. PLC学习资料

    常用字母 X 输入点(I)可连接外部输入信号 如感应器或限位/按钮等M 内部辅助继电器S 内部步进 不作步进使用时,可用作内部辅助继电器T 时间继电器 内部使用C计数器 内部使用Y输出点(O)输出给外 ...

  4. Slow HTTP Denial of Service Attack 漏洞解决办法

    编辑 删除 问题名称: Slow HTTP Denial of Service Attack 问题URL http://10.238.*.*:58*** 风险等级: 高 问题类型: 服务器配置类 漏洞 ...

  5. 并发编程学习笔记(9)----AQS的共享模式源码分析及CountDownLatch使用及原理

    1. AQS共享模式 前面已经说过了AQS的原理及独享模式的源码分析,今天就来学习共享模式下的AQS的几个接口的源码. 首先还是从顶级接口acquireShared()方法入手: public fin ...

  6. day19-常用模块IV(re、typing)

    目录 re模块 typing模块 爬取音频 re模块 用来从字符串(文本)中查找特定的东西 1.元字符:有特殊意义的字符 ^ 从开头匹配 import re a = re.findall('^abc' ...

  7. C++_运算符重载 总结

    什么是运算符的重载? 运算符与类结合,产生新的含义. 为什么要引入运算符重载? 作用:为了实现类的多态性(多态是指一个函数名有多种含义) 怎么实现运算符的重载? 方式:类的成员函数 或 友元函数(类外 ...

  8. GetArxPath

    extern HINSTANCE _hdllInstance;CString GetArxPath(){ CString strArxPath; GetModuleFileName(_hdllInst ...

  9. 15Oracle Database 索引

    Oracle Database 索引 索引 索引的目的是加快查询速度,就像一本数据的目录一样.建立索引的原则:非常少的DML操作:经常出现在where语句中的字段 2.20.1.建立索引 l  对t_ ...

  10. moongoTemplate使用

          添加依赖   <dependency> <groupId>org.springframework.boot</groupId> <artifact ...