如何使用VB编写Excel的COM组件
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组件的更多相关文章
- C#/VB.NET Excel数据分列
C#/VB.NET Excel数据分列 有时候我们需要将保存在Excel单元格中的组合型数据拆分为多列(如将全名拆分为姓和名两列)以方便我们处理.记忆或保存.为了避免重复和大量的手动输入工作,Exce ...
- 用VB操作Excel的方法
VB是常用的应用软件开发工具之一,由于VB的报表功能有限,而且一但报表格式发生变化,就得相应修改程序,给应用软件的维护工作带来极大的不便.因此有很多程序员现在已经充分利用EXECL的强大报表功来实现报 ...
- 计算机管理系统——VB与Excel联系
今天爆震室管理系统--学生查看机器状态的时候发现有一个"导出到excel"的button.我去.感情还得跟excel表链接. 于是我咬碎了一地小银牙.一个下午都在查询vb与exce ...
- VB中Excel 2010的导入导出操作
VB中Excel 2010的导入导出操作 编写人:左丘文 2015-4-11 近来这已是第二篇在讨论VB的相关问题,今天在这里,我想与大家一起分享一下在VB中如何从Excel中导入数据和导出数据到Ex ...
- 编写轻量ajax组件01-对比webform平台上的各种实现方式
前言 Asp.net WebForm 和 Asp.net MVC(简称MVC) 都是基于Asp.net的web开发框架,两者有很大的区别,其中一个就是MVC更加注重http本质,而WebForm试图屏 ...
- VB操作EXCEL文件
用VB操作Excel(VB6.0)(整理) 首先创建Excel对象,使用ComObj:Dim ExcelID as Excel.ApplicationSet ExcelID as new Excel. ...
- VB编写的验证码生成器
验证码(CAPTCHA)是“Completely AutomatedPublicTuring test to tell Computers andHumansApart”(全自动区分计算机和人类的图灵 ...
- Laravel 项目中编写第一个 Vue 组件
和 CSS 框架一样,Laravel 不强制你使用什么 JavaScript 客户端框架,但是开箱对 Vue.js 提供了良好的支持,如果你更熟悉 React 的话,也可以将默认的脚手架代码替换成 R ...
- java通过poi编写excel文件
public String writeExcel(List<MedicalWhiteList> MedicalWhiteList) { if(MedicalWhiteList == nul ...
随机推荐
- 我的DBDA类
<?php class DBDA { public $host="localhost"; public $uid="root"; public $pwd= ...
- C/c++中 数组全局变量的定义声明 与 引用声明
数组声明一次,所有的 定义声明 有切仅有一次! 别人遇到的问题如下: 在声明定义时,定义数组如下: int G_glob[100]; 在其他文件引用时声明如下: int *G_glob; 这样的操 ...
- echarts之我用
最近在用echarts做项目,抽点时间总结一下. 首先说一下什么是echarts.echarts是百度开发的类似于fusioncharts的图表展示控件.区别于fusioncharts的是echart ...
- NSAllowsArbitraryLoadsInWebContent NSAllowsArbitraryLoads
By specifying NSAllowsArbitraryLoadsInWebContent, you are overriding NSAllowsArbitraryLoads on iOS 1 ...
- CAD利用Select2得到所有实体(网页版)
主要用到函数说明: IMxDrawSelectionSet::Select2 构造选择集.详细说明如下: 参数 说明 [in] MCAD_McSelect Mode 构造选择集方式 [in] VARI ...
- 梦想Android版CAD控件2018.7.26更新
下载地址: http://www.mxdraw.com/ndetail_109.html 1. 增加所有接口CHM帮助文档 2. 增加得到当前打开文件函数 3. 读写CAD扩展记录接口 4. 读写属性 ...
- java中随机生成字符串的方法(三种)
org.apache.commons.lang(2.6): 链接:https://pan.baidu.com/s/1k_oeA5AjSt6evoR7zT8gpQ 提取码:yhl5 1.生成的字符串每个 ...
- 浅析Oracle中的不等于号
前几天碰到一个关于Oracle不等于的问题,最后搜索了一下,发现下面资料,拿来跟大家分享一下,需要的朋友可以参考下 关于Oracle中的不等于号: 在Oracle中, <> != ...
- Linux---shell基本指令
1. 显示当前目录 pwd wangzhengchao@ubuntu:~$ cd /home/wangzhengchao/Desktop/ wangzhengchao@ubuntu:~/Desktop ...
- MySQL Connector/Python 接口 (二)
连接数据库 本文参见这里,示例如何连接MySQL 数据库. import mysql.connector from mysql.connector import errorcode # 连接数据库需要 ...