.NET与VBA COM互操作

1:在vb.net侧,做成相应的DLL工程

新建一个ClassLibrary工程,删除自动生成的Class1.vb文件
然后自己新增加一个ComClass类型的项目
增加下面的函数
    Public Function NewGuid() As String
        Dim g As Guid = Guid.NewGuid()
        Return g.ToString()
    End Function

此时编译生成的DLL文件,在VBA的参照设定里已经能看到了。
.net环境在默认情况下,自动注册登陆了这个dll到GAC中。

查看项目属性,有两个地方,一个是assemblyinfo中,COM参照被选中了。
还有一个地方是,编译选项卡中,最下面COM互操作那一项也被选中了。

2:.net做成的COM组件如何部署
方法一:自己新建一个setup工程,然后把编译生成的xxxx.DLL,xxxx.tlb两个文件添加到
setup工程,察看着两个文件的Register属性。
xxxx.DLL对应vsdrpCOM值
xxxx.tlb对应vsdrfCOM值
这样在客户机上安装后,vba也可以引用这个DLL文件了。

方法二:在客户机的.net类库目录中调用regasm命令注册。可以用批处理来实现。
关于regasm的详细用法可以参照
http://msdn.microsoft.com/zh-cn/library/tzat5yw6%28VS.80%29.aspx

例如:
C:/Windows/Microsoft.NET/Framework/v2.0.50727>regasm DLL绝对路径 /tlb /codebase

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
再见SharpZipLib!现在这是一个API! DotNetZip是一个易于使用,快速,自由操纵类库和工具集压缩文件或文件夹。 zip和解压很简单:与DotNetZip。NET中编写的应用程序在VB,C#中 - 任何。NET语言 - 可以轻松地创建,阅读,摘录,或更新压缩文件。对于单声道或MS。NET的。 DotNetZip工程与完整的。NET Framework的电脑,并在此使用。NET Compact Framework的移动设备上运行。在VB,c创建和读取zip文件#或任何。NET语言,或任何脚本环境。 DotNetZip支持这些方案: - 一个ASP.NET应用程序,动态创建的ZIP文件,并允许浏览器下载他们 - 一种Windows服务,定期拉链了一个用于备份和存档目录 - 一个WPF程序修改现有档案 - 重命名项,清除存档,或添加新项目到一个存档条目 - 一个Windows窗体应用程序,创建的归档内容的隐私AES加密ZIP压缩文件。 - 在PowerShell的脚本或VBScript行政执行备份和归档。 - WCF服务,它接收一个zip文件作为附件,并动态的zip解压缩到一个流分析 - 一个老派的ASP(VBScript)中的应用,产生了DotNetZIp通过COM接口一个ZIP文件 - 一个Windows窗体应用程序,读取或更新ODS的文件 - 从流内容创建zip文件,保存到一个流,提取到一个流,从流中读取 - 建立自解压缩档案。 如果你想要的是一个更好的DeflateStream或GZipStream类来代替所建立的一个到。NET的首创置业,DotNetZip了这一点。 DotNetZip的DeflateStream和GZipStream可装配在一个独立的基础上的。NET zlib的港口。这些流支持的压缩级别,并提供更好的性能,内置的类。还有一个ZlibStream完成设置文档(RFC 1950,1951,1952)。 而这一切的价格:完全免费。 DotNetZip是100%托管的代码库,可以在任何使用。NET应用 - 控制台的WinForms,WPF中,ASP.NET时,SharePoint,Web服务应用程序等。它也可以被用于从脚本环境或像Powershell脚本文件,VBScript中,VBA中,维生素B6,PHP和Perl中的语言,和更多的COM功能的环境。无论从环境中使用它,DotNetZip产生压缩文件,这些文件完全与Windows资源管理器的互操作性,以及Java应用程序,应用程序在Linux上运行。
----------Database-------------- 1.DataTable帮助类(DataTableHelper.cs)2.Access数据库文件操作辅助类(JetAccessUtil.cs)3.常用的Access数据库Sql操作辅助类库(OleDbHelper.cs4.根据各种不同数据库生成不同【分页语句的辅助类】 PagerHelper(PageHelper.cs)5.查询条件组合辅助类(SearchCondition.cs)6.查询信息实体类(SearchInfo.cs)7.类型(例如:int,string,double)转换(SmartDataReader.cs)8.Sql命令操作函数(可用于安装程序的时候数据库脚本执行)(SqlScriptHelper.cs) ----------Device-------------- 声音播放辅助类(AudioHelper.cs)摄像头操作辅助类,包括开启、关闭、抓图、设置等功能(Camera.cs) 提供用于操作【剪切板】的方法(ClipboardHelper.cs) 获取电脑信息(Computer.cs)提供用户硬件唯一信息的辅助类(FingerprintHelper.cs)读取指定盘符的硬盘序列号(HardwareInfoHelper.cs)提供访问键盘当前状态的属性(KeyboardHelper.cs) 全局键盘钩子。这可以用来在全球范围内捕捉键盘输入。(KeyboardHook.cs) 模拟鼠标点击(MouseHelper.cs)全局鼠标钩子。这可以用来在全球范围内捕获鼠标输入。(MouseHook.cs)MP3文件播放操作辅助类(MP3Helper.cs) ----------Encrypt-------------- 基于Base64的加密编码(Base64Util.cs)字符串的加密/解密(EncodeHelper.cs)MD5各种长度加密字符、验证MD5等操作辅助类(MD5Util.cs)QQ的EncryptUtil(QQEncryptUtil.cs) 非对称加密验证辅助类(RSASecurityHelper.cs) ----------File-------------- 用于获取或设置Web.config/*.exe.config中节点数据的辅助类(AppConfig.cs)CSV文件和DataTable对象转换辅助类(CSVHelper.cs)DatabaseInfo 的摘要说明。(DatabaseInfo.cs)常用的目录操作辅助类(DirectoryUtil.cs) Excel操作辅助类(无需VBA引用)(ExcelHelper.cs)利用VBA对象,导出DataView到一个Excel文档中的Excel辅助类(Export2Excel.cs)关联文件(ExtensionAttachUtil.cs)注册文件关联的辅助类(FileAssociationsHelper.cs)打开、保存文件对话框操作辅助类(FileDialogHelper.cs)常用的文件操作辅助类FileUtil(FileUtil.cs)INI文件操作辅助类(INIFileUtil.cs)独立存储操作辅助类(IsolatedStorageHelper.cs)序列号操作辅助类(Serializer.cs)获取一个对象,它提供用于访问经常引用的目录的属性。(SpecialDirectories.cs)简单的Word操作对象(WordCombineUtil.cs)这个类提供了一些实用的方法来转换XML和对XmlConvertor.cs)XML操作类(XmlHelper.cs) ----------Format-------------- 参数验证的通用验证程序。(ArgumentValidation.cs)这个类提供了实用方法的字节数组和图像之间的转换。(ByteImageConvertor.cs)byte字节数组操作辅助类(BytesTools.cs) 处理数据类型转换,数制转换、编码转换相关的类(ConvertHelper.cs) CRC校验辅助类(CRCUtils.cs) 枚举操作公共类(EnumHelper.cs) 身份证操作辅助类(IDCardHelper.cs) 检测字符编码的类(IdentifyEncoding.cs) RGB颜色操作辅助类(MyColors.cs) 日期操作类(MyDateTime.cs) 转换人民币大小金额辅助类(RMBUtil.cs) 常用的字符串常量(StringConstants.cs) 简要说明TextHelper。(StringUtil.cs) 获取中文字首字拼写,随机发生器,按指定概率随机执行操作(Util.cs) 各种输入格式验证辅

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值