zawazawaユーザー助け合い掲示板

Access 32bitから64bitへ(VBA)

0 コメント
views
14 フォロー

今更ながらAccessを32bitから64bitに変換していますがどうにもうまくいっていません。
よく個人サイトでも紹介されているMSAcces.exeの内部ライブラリの処理のところでaccessがクラッシュしてしまいます。

Private Declare Function fNextHscr Lib "msaccess.exe" Alias "#22"
            (ByVal HScr As Long, ByVal fSkipBlank As Long, pfEndOfScript As Long) As Long
この行を
Private Declare PtrSafe Function fNextHscr Lib "msaccess.exe" Alias "#22"

            (ByVal HScr As LongPtr, ByVal fSkipBlank As LongPtr, pfEndOfScript As LongPtr) As LongPtr
上記のように修正して流していますがクラッシュしてしまいエラー原因がつかめません。
試しにAliasに直接 "FNextHscr"を指定した時は「DLL ファイル msaccess.exe 内に見つかりません。」となってしまいました。
32bitでは問題なく稼働していたので64bitから内部ライブラリの内容が変わったのでしょうか。
過去にも2003から2013でいくつか削除されていましたが今回もそのような現象でしょうか。
何か内部ライブラリの情報や修正方法などがお分かりな方がいらっしゃいましたらご教授ください。
ちなみにLongPtrの部分はLongLongや無理やりのLongでも試しましたが駄目でした。
(HScrはWizHookから取得した値でWizHookは正常に機能しているようです)
よろしくお願いいたします。

作成: 2023/12/06 (水) 00:09:21
通報 ...