MacOS下VBA x64中AddressOf运算符编译失败问题求助
MacOS 64位VBA中AddressOf运算符的编译异常问题
- 以下VBA代码在Windows平台的32位、64位Office中均能正常运行,但在MacOS的64位VBA环境下无法编译,运行时直接弹出「内存不足」错误:
Option Explicit Sub TestAddressOf() Debug.Print GetAddress(AddressOf GetAddress) End Sub Function GetAddress(ByVal addr As LongPtr) As LongPtr GetAddress = addr End Function
- 进一步测试发现,将
AddressOf MethodName直接传递给用Declare声明的API时,会出现完全相同的错误 - 只要移除代码中的
AddressOf运算符,代码即可正常通过编译 - 当前测试环境:MacOS 11.5.1 (20G80)、Excel for Mac x64 v16.16.27 (201012)
恳请在其他版本的Mac系统/Excel软件中测试该代码,确认是否存在相同现象。
内容的提问来源于stack exchange,提问作者Cristian Buse
相关产品推荐
相关产品推荐

