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
       使用第一種方法調試提示找不到類庫,第二種方法我沒試過,用了第三種方法調試成功。我也覺得第三種還是蠻好的,除了多幾行代碼。成功調用DLL后原來很多在VB下寫的東東簡單改一下就可以在VBA下用了,效率又高,保密性又好


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM