vba如何自动引用dll文件

更新时间:02-01 综合 由 花心症 分享

在ArcMap中引用动态链接库

我在VB6下编译生成了一个动态链接库文件VBAPrj.dll,其中有一类模块VBACls,此类模块有一个方法Test(Doc As Object)。

常见的方法有三种(作者:张业新):

1、打开VBA编辑器,点"工具"菜单下的"引用"命令,在引用对话框中引用该动态链接库。

调用代码如下:

Dim VBACls As New VBAPrj.VBACl

VBACls.Test(ThisDocument)

2.如果知道该动态链接库文件的位置,可以在ThisDocument代码窗口以代码形式引用, 代码如下:

Private Sub Document_Open()

On Error Resume Next

Me.VBProject.References.AddFromFile "D:VBAPrj.dll"

End Sub

3.将动态链接库文件拷贝到文档同一目录下,可在ThisDocument代码窗口中建立如下引用函数:

Private Function GetProjectDoc() As Object

On Error Resume Next

Dim VBACls As Object

Set VBACls = CreateObject("VBAPrj.VBACls")

If VBACls Is Nothing Then

MsgBox "VBAPrj.dll必须和文档在同一目录下!"

Exit Function

End If

Set GetProjectDoc = VBACl

End Function

然后以以下代码形式调用Test:

Dim objPrjDoc As Object

Set objPrjDoc = GetProjectDoc

Call objPrjDoc.Test(ThisDocument)

Set objPrjDoc = Nothing

使用第一种方法调试提示找不到类库,第二种方法我没试过,用了第三种方法调试成功。我也觉得第三种还是蛮好的,除了多几行代码。成功调用DLL后原来很多在VB下写的东东简单改一下就可以在VBA下用了,效率又高,保密性又好

声明:关于《vba如何自动引用dll文件》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/all/15_6896702.html