VBA调⽤DLL动态链接库
在ArcMap中引⽤动态链接库
我在VB6下编译⽣成了⼀个动态链接库⽂件VBAPrj.dll,其中有⼀类模块VBACls,此类模块有⼀个⽅法Test(Doc As Object)。
常见的⽅法有三种(作者:张业新):
1.打开VBA编辑器,点"⼯具"菜单下的"引⽤"命令,在引⽤对话框中引⽤该动态链接库。
调⽤代码如下:
Dim VBACls As New VBAPrj.VBACls
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 = VBACls
End Function
然后以以下代码形式调⽤Test:
Dim objPrjDoc As Object
Set objPrjDoc = GetProjectDoc
Call objPrjDoc.Test(ThisDocument)
Set objPrjDoc = Nothing
发布评论