2019年8月中旬にOffice365を再インストールしたところ、

お題の

このプロジェクトのコードは、64ビットシステムで使用するために更新する必要があります。

Declareステートメントの確認および更新を行い、次にDeclareステートメントに PtrSafe 属性を設定してください。」が表示されVBAが動かない場合の対処方法について。

と、言うメッセージボックスが出て、VBAが動かなくなっちゃいました。

194219_0

こんな有様です。

このメッセージは?

で、このメッセージにですが、要は、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」の編集メニューから、置換を選択して、以下のように入力します。

194217_0

検索する文字列に「Declare」、置換後の文字列に「Declare PtrSafe」と入れて、後は、対象はカレントモジュールか、カレントプロジェクトを選択して、「すべて置換」をクリックすれば、置換出来ちゃいます。

その結果

その結果、無事に動作しちゃいました。万事OKってこと。

created by Rinker
¥3,080 (2019/11/21 22:18:10時点 Amazon調べ-詳細)

最後に

この現象ですが、私の場合は、Accessで発生したのですが、ExcelとかWordとかでも同じ現象になり、同じ対処方法で解決するようです。

ただ、注意点としては、一気に置換しちゃう場合、くれぐれもバックアップをしてから作業しましょうね。