如何正确的在VBAVB中引⽤C#VB.NET开发的DLL
如果需要使⽤在C#或VB.Net创建⼀个DLL在Access VBA时,Excel VBA,或⽤于⽣产的机器上VB6应⽤程序,本⽂向您介绍如何注册,参考,并调⽤从VBA或VB编辑器中的DLL。
你已经正确安装并注册组件?
然后,复制C#/VB.NETDLL⽂件(SimpleCalc.dll)和.TLB类型库⽂件(SimpleCalc.tlb)到C:\ WINNT \ SYSTEM32 \或C:\ WINDOWS \ SYSTEM32 \⽬录下, 然后C#/VB.NETDLL注册到Windows注册表中。展⽰了如何正确使⽤⼯具注册C#/VB.NETDLL。
在您的VBA程序中添加引⽤
⾸先,创建⼀个新的 Access、Excel等⽂件,打开 Visual Basic 代码编辑器。在菜单中点⼯具-> 引⽤
点击引⽤窗⼝时,单击浏览按钮。
然后点击浏览(B),打开 C:\Windows\System32⽂件夹⽬录后选择 SimpleCalc.tlb打开。
点击打开完成后,SimpleCalc将会显⽰在你的参照引⽤列表中,你需要向下移动并在参照引⽤列表中到并勾选中。然后单击确定关闭引⽤窗⼝。或者你可以选择进⾏上移array在vb什么意思啊
您可以在注册表中的截图记得上⾯有在Codebase项⼀个DLL路径值。VBA将使⽤此注册表信息来查调⽤的DLL。在我们例⼦中,它是D:\ CSHARP \ SimpleCalc \ SimpleCalc \ BIN \发布\ SimpleCalc.d
ll
从您的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整个过程。
祝您编码快乐!
其他⽂章系列:
(3)如何正确地在Access VBA或Excel VBA内引⽤访问C#或VB.Net写的DLL blog.csdn/kongwei521/article/details/77929277

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。