office交流網(wǎng)--QQ交流群號(hào)及微信交流群

Access培訓(xùn)群:792054000         Excel免費(fèi)交流群群:686050929          Outlook交流群:221378704    

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

微信交流群(請(qǐng)用微信掃碼)

        

在32位和64位的access開(kāi)發(fā)環(huán)境使用API函數(shù)

2019-08-20 17:39:00
tmtony8
原創(chuàng)
4528

在32位的office中,調(diào)用了API函數(shù),可以直接運(yùn)行;但是移植到64位的環(huán)境中,會(huì)提示API 引用錯(cuò)誤。

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


1.在64位環(huán)境聲明中 Declare 語(yǔ)句應(yīng)加上 PtrSafe 關(guān)鍵字
2.VBA7 及Win64的判斷語(yǔ)句

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

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



詳細(xì)可參閱:

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



分享
文章分類
聯(lián)系我們
聯(lián)系人: 王先生
Email: 18449932@qq.com
QQ: 18449932
微博: officecn01
移動(dòng)訪問(wèn)