首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在VBA中定义DLL函数时,外部过程无效

在VBA中定义DLL函数时,外部过程无效
EN

Stack Overflow用户
提问于 2018-10-31 23:38:51
回答 1查看 111关注 0票数 0
代码语言:javascript
复制
Private Declare PtrSafe Function GenerateActiveTypicalWorksheet Lib "C:\Program Files\EPLAN\EEC One\2.7.3\Platform64\W3ApiBase.dll" Alias "EecOne.GenerateActiveTypicalWorksheet" () As Integer

Call Application.Run("EecOne.GenerateActiveTypicalWorksheet")

End Function

Private Sub Workbook_Open()

    GenerateActiveTypicalWorksheet

End Sub

我试图在.dll文件中调用一个函数,但我得到了错误消息“Invalid procedure”。

这是我尝试使用的dll/API的唯一可用文档:

还有这个:

EN

回答 1

Stack Overflow用户

发布于 2018-10-31 23:50:58

语法应该是这样的:

代码语言:javascript
复制
Private Declare PtrSafe Function GenerateActiveTypicalWorksheet Lib "C:\Program Files\EPLAN\EEC One\2.7.3\Platform64\W3ApiBase.dll" Alias "EecOne.GenerateActiveTypicalWorksheet" () As Integer

Private Sub Workbook_Open()
    GenerateActiveTypicalWorksheet
End Sub

请注意,Private Declare PtrSafe Function就像是对库中函数的引用。它只是为了让它可用,并且没有源代码和End Function。它更像是一个函数的链接。

这里的问题是这两行…

代码语言:javascript
复制
Call Application.Run("EecOne.GenerateActiveTypicalWorksheet")
End Function

不在函数或过程中,因此会出现错误…

过程外部的

无效

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53087170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档