[このプロジェクトのコードは、64ビット・・Declare ・・]エラー解決方法 Excel VBA 2010 2013 ホームページ制作 | 墨田区

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

LINEで送る
Pocket

64 ビット版の Office 2010 や Office 2013 にアップグレードをした後、今まで使っていた Excel マクロを利用しようとすると、
このプロジェクトのコードは、64ビットシステムで使用するために更新する必要があります。Declareステートメントの確認および更新を行い、次にDeclareステートメントにPrtSafe 属性を設定してください。
のメッセージが表示されることがあります。
これは、 32 ビット版で作成された Excel マクロや VBA Project が 64 ビット版では利用できないためです。ここでは、このエラーが発生した場合の対処方法をご紹介します。

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



【PR】マジか?!「アレ」してるLINEスタンプっていったい・・・



対象

Excel 2010, Excel 2013


「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のコンパイル」を実行してみましょう。エラーが出なくなるはずです。


参考サイト

Office 2010 の 32 ビット バージョンと 64 ビット バージョンとの互換性


他にもエラーが出る場合は、下にある関連記事をご覧ください。

おつかれさまでした。

LINEで送る
Pocket

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

コメントを残す

コメント(必須)

お名前 (必須)
メールアドレス
(アドレスは公開されません)

Trackback URL