※VBAが動かない場合、プログラムを修正する以外に、思い切って32bit版のOfficeにダウングレードする方法もあります。詳細はこちらの記事をご覧下さい。
以下が、本文です。
2019年8月中旬にOffice365を再インストールしたところ、
お題の
このプロジェクトのコードは、64ビットシステムで使用するために更新する必要があります。
Declareステートメントの確認および更新を行い、次にDeclareステートメントに PtrSafe 属性を設定してください。」が表示されVBAが動かない場合の対処方法について。
と、言うメッセージボックスが出て、VBAが動かなくなっちゃいました。
こんな有様です。
このメッセージは?
で、このメッセージにですが、要は、64bit版のOfficeで動作させる場合は、Declareステートメントに PtrSafe 属性を設定をする必要があるって、メッセージです。
マイクロソフトの公式ページによると、
Microsoft Officeの64ビットバージョンを実行するとき、現在、Declareステートメントには、PtrSafeキーワードを含める必要があります。PtrSafeキーワードは、Declare ステートメントが、Microsoft Officeの64ビットバージョンで実行しても安全であることを示します。
とのこと。
対処方法は?
そうと分かれば、Declareステートメントに PtrSafe を付けちゃいましょう。
一番簡単にあっさりとやる方法は、置換しちゃえばいいじゃね。ってことで、早速「Microsoft Visual Basic for Applications」と言うVBAエディタで、置換しちゃます。
「Microsoft Visual Basic for Applications」の編集メニューから、置換を選択して、以下のように入力します。
検索する文字列に「Declare」、置換後の文字列に「Declare PtrSafe」と入れて、後は、対象はカレントモジュールか、カレントプロジェクトを選択して、「すべて置換」をクリックすれば、置換出来ちゃいます。
その結果
その結果、無事に動作しちゃいました。万事OKってこと。
最後に
この現象ですが、私の場合は、Accessで発生したのですが、ExcelとかWordとかでも同じ現象になり、同じ対処方法で解決するようです。
ただ、注意点としては、一気に置換しちゃう場合、くれぐれもバックアップをしてから作業しましょうね。