📊つかえる関数.com

32bitから64bitのExcelに移行する際、VBAで注意すべき点は?

結論

64bit移行時はPtrSafe宣言とLongPtr型への変更が必要です。

VBA・マクロ上級·

詳しい解説

主に2点の注意が必要です。①Declare文にPtrSafe宣言が必要(例: `Declare PtrSafe Function...`)。②ポインタ型引数のデータ型をLong→LongPtrに変更する必要がある場合があります。Office 2016以降では`#If VBA7`で条件分岐するのが定番のパターンです。

執筆・検証:田中 けんた|Excel歴15年・MOS資格保持

バージョン対応

バージョン対応状況
Excel 2016Excel 2019Excel 2021Excel 2024Microsoft 365
対応対応対応対応対応

実務での使用例

Windows API呼び出しの64bit対応

32bit環境で動いていたAPI宣言を64bit Excelに移行する場合

#If VBA7 Then Declare PtrSafe Function GetUserName Lib "advapi32.dll" ... #Else Declare Function GetUserName Lib "advapi32.dll" ... #End If