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

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

在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函數的方法



分享