由于Declare在64位和32位的开发环境下,对于代码的语法有所差异:
若要在64位版本的 Microsoft Office 中运行代码, 所有Declare语句都必须包含PtrSafe关键字,声明语句 (参数和返回值) 中需要存储64位数的所有数据类型都必须是更新为将64位积分或LongPtr的LongLong用于指针和句柄。
建议的语法是,将 Declare 语句与 PtrSafe 关键字一起使用。 **** 在32位和**** 64 位平台上的 VBA 版本7开发环境中, 只有在declare语句 (参数和返回值) 中的所有数据类型都需要将64位的存储更新为将64位积分或LongPtr的LongLong用于指针和句柄。 若要确保与 VBA 版本6和更早版本的向后兼容性, 请使用以下构造
#If VBA7 Then
Declare PtrSafe Sub...
#Else
Declare Sub...
#EndIf
语法 1 (Sub)
[ Public | Private ]声明****PtrSafe****Sub名称Lib"libname" [ Alias "aliasname"] [([ arglist ])]
语法 2 (Function)
[ Public | Private ]声明****PtrSafe****函数名称Lib"libname" [ Alias "aliasname"] [([ arglist ])] [ As type ]