通过VBA访问DLL

10

我该如何从VBA(Excel)中访问第三方DLL内的函数?此外,有没有一种方法可以查看DLL内可用的所有函数?

1个回答

9

要调用第三方DLL中的函数,您需要使用Declare语句。例如:

Private Declare Function GetTempPath Lib "kernel32" _
     Alias "GetTempPathA" (ByVal nBufferLength As Long, _
     ByVal lpBuffer As String) As Long

有关更多信息,请参阅MSDN上的如何:访问Excel中的DLL


要列出可用的函数,请查看Dependency Walker工具,它将列出从DLL导出的函数(以及许多其他信息)。


kernel32是一个Windows的DLL,VBA可以找到它,因为WinDir和System32的路径已经包含在环境变量PATH中。但是当使用第三方DLL时,如果你的DLL位于非标准位置,你需要在Declare语句中包含绝对路径。但是如果DLL已经注册,VBA可以通过它的CLSID找到它吗? - undefined
@JamieGarroch-MVP 我不确定,你可能需要提出一个新问题以获得更多帮助。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接