原文地址:http://www.geeksengine.com/article/reference-dll.html
感谢原作者的文章。
如果需要使用在C#或VB.Net创建一个DLL在Access VBA时,Excel VBA,或用于生产的机器上VB6应用程序,本文向您介绍如何注册,参考,并调用从VBA或VB编辑器中的DLL。
你已经正确安装并注册组件?
首先,你需要获取的
C#/VB.NET
DLL文件和.TLB类型库文件。在
Access 、Excel、Word中的VBA引用C#或VB.Net创建的DLL
文章中已经给出SimpleCalc.dll和SimpleCalc.tlb -这两个文件。
然后,复制
C#/VB.NET
DLL
文件(SimpleCalc.dll)和.TLB类型库文件(SimpleCalc.tlb)到C:\ WINNT \ SYSTEM32 \或C:\ WINDOWS \ SYSTEM32 \目录下, 然后
C#/VB.NET
DLL
注册到Windows注册表中。
本文
展示了如何正确使用RegAsm.exe工具注册
C#/VB.NET
DLL。
在您的VBA程序中添加引用
首先,创建一个新的 Access、Excel等文件,打开 Visual Basic 代码编辑器。
在菜单中点工具-> 引用
点击引用窗口时,单击浏览按钮。
然后点击浏览(B),打开 C:\Windows\System32文件夹目录后选择 SimpleCalc.tlb打开。
点击打开完成后,SimpleCalc将会显示在你的参照引用列表中,你需要向下移动并在参照引用列表中找到并勾选中。
然后单击确定关闭引用窗口。或者你可以选择进行上移
您可以在注册表中的截图记得上面有在Codebase项一个DLL路径值。
VBA将使用此注册表信息来查找调用的DLL。
在我们例子中,它是D:\ CSHARP \ SimpleCalc \ SimpleCalc \ BIN \发布\ SimpleCalc.dll
从您的VBA或VB中调用C#/VB.NET写的DLL
若要在VBA/V中调用
C#/VB.NET写的DLL里面的
变量和方法
,我们需要在VBA这个ibf
添加一个按钮访问窗体,然后双击按钮添加事件。在
Click事件中,我们创建调用C#/VB.Net写的DLL对象并调用它的方法做数字相加。
有两种方法可以来调用C#/VB.NET写的的DLL。见下文。
Private Sub Command0_Click()
''--------------------------------------------
'' Method 1: using New keyword
Dim lngResult As Long
Dim objCalc As SimpleCalc.Calc
Set objCalc = New SimpleCalc.Calc
objCalc.SetNumberOne (3)
objCalc.SetNumberTwo (6)
lngResult = objCalc.Add()
''--------------------------------------------
'' Method 2: This is another way to call the DLL by using CreateObject function.
Dim lngResult2 As Long
Dim objCalc2 As SimpleCalc.Calc
Set objCalc2 = CreateObject("SimpleCalc.Calc")
objCalc2.SetNumberOne (3)
objCalc2.SetNumberTwo (6)
lngResult2 = objCalc2.Add()
''---------------------------------------------
End Sub
首先,我们在VBA中声明的C#/VB.NET写的DLL的对象。
然后,在方法1,它使用New关键字来创建对象的新实例。方法2使用CreateObject函数来创建实例。无论哪种方式,我们都会得到3 + 6 = 9的结果。就这么简单,但它确实说明了注册,引用,
基于 Visual Basic COM 应用程序
调用C#/VB.Net DLL
整个过程。
祝您编码快乐!
其他文章系列:
(1)如何正确地创建Access或Excel中的DLL(或在任何Microsoft Office应用程序或VB6中使用)http://blog.csdn.net/kongwei521/article/details/77921436
(2)如何正确地将C#或VB.Net的DLL在开发机器或者生成环境机器中注册 http://blog.csdn.net/kongwei521/article/details/77929273
(3)如何正确地在Access VBA或Excel VBA内引用访问C#或VB.Net写的DLL http://blog.csdn.net/kongwei521/article/details/77929277
原文地址:http://www.geeksengine.com/article/reference-dll.html感谢原作者的文章。如果需要使用在C#或VB.Net创建一个DLL在Access VBA时,Excel VBA,或用于生产的机器上VB6应用程序,本文向您介绍如何注册,参考,并调用从VBA或VB编辑器中的DLL。你已经正确安装并注册组件?首先,你需要获取的C#/VB
注:本文在翻译过程
中
,图片会与原文章有些差异,主要是我为了更好的让大家看清楚做了一个图文诠释。
原文地址:http://www.geeksengine.com/article/create-
dll
.html 感谢原作者的文章。
我正在更新我在访问
VBA
创建和跨越,我需要一些封装的功能在
DLL
中
的场景来了一个应用程序。我以前用
VB
(Visual Basic
中
5和6)多年前创建的
DLL
。最
使用
c#
语言在.net平台生成的
dll
是基于MSIL的二进制代码,通常情况下是无法被native的语言和程序
调用
的(例如
vb
,vc,delphi)。但是一般来说windows上native的程序都是可以直接使用com对象的。通过.net平台提供的一些工具,可以为其伪造一个com接口并注册到系统
中
。此时,可以在native的程序里,通过这个伪com接口来实现此.net的
dll
的
调用
。
vb
调用
C#
里面有两个方法
Encrypt(string pToEncrypt,string sKey) //加密
Decrypt(string pToDecrypt,string sKey) //解密
然后你这样写代码:
using Sy...
先感谢网友共享的资料:http://www.cnblogs.com/bob79/archive/2012/11/06/2757263.html
http://bbs.csdn.net/topics/90448381
以下对以上进行补充说明.+实践验证.
功能:在
VB
6.0(以下简称
VB
)程序
中
调用
C#
.n
vb
s显示窗体(显示控件,
调用
标准
DLL
还要大家再去扩展)
用一个方法可以直接让PY显示任意控件,
VB
S也可以做界面
VB
S就可以当软件用了,支持API
调用
(Findwindow),支持加载控件,他本身就支持
调用
对象creatobject,那
vb
s不是万能的了嘛?
大家这方面有没有研究过?
目前做了个小程序,在html文件
中
调用
c#
类库生成的
dll
文件,途
中
遇到了很多问题:
先将类库添加强名,生成
dll
文件之后,就可生成tlb类型库。(
dll
和tlb文件可移动到任何目录
中
)
1.使用Windows命令窗口(若客户机没有vs2005,就无法使用Visual Stu
C#
、
VB
(Visual Basic)和
VBA
(Visual Basic for Applications)都是基于.NET框架的编程语言。它们都可以用于
开发
各种类型的应用程序,包括Windows桌面应用程序、Web应用程序、移动应用程序等。
C#
是.NET框架的主要编程语言之一,它是一种现代、强类型的语言,广泛用于
开发
大型的企业级应用程序。
VB
是另一种.NET框架的编程语言,它是一种易学易用的语言,适合初学者和快速
开发
。
VBA
是一种特定于Microsoft Office应用程序的编程语言,它基于
VB
语言,并且可以用于自动化和扩展Office应用程序的功能。
这三种语言都可以通过.NET框架进行交互和集成,可以在同一个项目
中
混合使用它们来实现不同的功能。无论选择使用
C#
、
VB
还是
VBA
,
开发
人员都可以利用.NET框架的强大功能和丰富的库来构建高效、可靠的应用程序。