[このプロジェクトのコードは、64ビット・・Declare ・・]エラー解決方法 Excel VBA 2010 2013

[このプロジェクトのコードは、64ビット・・Declare ・・]のエラー解決方法です。

Declareステートメントの確認および更新

64 ビット版の Office 2010 や Office 2013 にアップグレードをした後、今まで使っていた Excel マクロを利用しようとすると、

このプロジェクトのコードは、64ビットシステムで使用するために更新する必要があります。Declareステートメントの確認および更新を行い、次にDeclareステートメントにPrtSafe 属性を設定してください。

のメッセージが表示されることがあります。

これは 32 ビット版で作成された Excel マクロや VBA Project が 64 ビット版では利用できないためです。

ここでは 「このプロジェクトのコードは、64ビットシステムで使用するために更新する必要があります。Declareステートメントの確認および更新を行い、次にDeclareステートメントにPrtSafe 属性を設定してください。」のエラーが発生した場合の対処方法 を紹介します。

対象

Excel 2010, Excel 2013

Excel 2007 以降のバージョンであれば同じ方法で対応可能です。

「Declareステートメントの確認および更新」をおこなう

まず、表示されているエラーメッセージにある通り「Declareステートメントの確認および更新」をおこなう必要があります。Declare ステートメントの対象を 64 ビット版 Office 2010 とすることを VBA コンパイラに指示すれば、このエラーが発生することはありません。

そのためには、修飾子である PtrSafe を付加する必要があります。

具体的な変更例

よく使われる Sleep を例にあげてみます。32 ビット版では、以下のように記述していました。

Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

64 ビット版では、Declare の後ろにPtrSafeを付加します。

Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

すべての Declare ステートメントにPtrSafeを付加したら、メニューの「デバッグ」から「VBAProjectのコンパイル」を実行してみましょう。エラーが出なくなるはずです。

参考サイト

まとめ

おつかれさまでした。

この記事がお役に立ちましたら シェア をお願いいたします。