office交流網--QQ交流群號

Access培訓群:792054000         Excel免費交流群群:686050929          Outlook交流群:221378704    

Word交流群:218156588             PPT交流群:324131555

在32位和64位的access開發環境使用API函數

2019-08-20 17:39:00
tmtony8
原創
651

在32位的office中,調用了API函數,可以直接運行;但是移植到64位的環境中,會提示API 引用錯誤。

那么如何聲明32位和64位的Access、Excel等VBA兼容的API函數呢


1.在64位環境聲明中 Declare 語句應加上 PtrSafe 關鍵字
2.VBA7 及Win64的判斷語句

由于Declare在64位和32位的開發環境下,對于代碼的語法有所差異:
建議語法是將 Declare 語句與 PtrSafe 關鍵字一起使用。要使包括 PtrSafe 的 Declare 語句能同時在 32 位和 64 位平臺上的 VBA7 開發環境中正確運行,必須先將 Declare 語句中所有需要存儲 64 位數的數據類型(參數和返回值)更新為使用 LongLong(對于 64 位整數)或 LongPtr(對于指針和句柄)。為確保與 VBA 版本 6 和更早版本的向后兼容性,請使用下面的構造:

#If Vba7 Then
Declare PtrSafe Sub...
#Else
Declare Sub...
#EndIf



詳細可參閱:

聲明32位和64位Access、Excel等VBA兼容的API函數的方法



分享
北京十一选五基本走势