2014年6月5日木曜日

【VBA】Windows 64bit で発生するDeclareエラーの対応方法

2014年4月でWindows XPのサポートが終わってしまいましたね。
自宅の開発環境はしばらくXPを使い続けていましたが、セキュリティ的にいつまでもXPというわけにも行かないので、一念発起し、Windows 7 環境へ移行しました。

移行後、Excelマクロを立ち上げたところ、以下のようなエラーメッセージが。
"このプロジェクトのコードは、64 ビット システムで使用するために更新する必要があります。Declare ステートメントの確認及び更新を行い、次に Declare ステートメントに PtrSafe 属性を指定してください。"

ううむ。OSアップデートの洗礼か、はたまた32bitから64bit化したことによる影響か・・・

どうやら、Windowsが64bitだと Declare Function の箇所でエラーになってしまうようです。
メッセージ通り、Declare に PtrSafe を指定すれば解決しました。ほっと一安心。

【修正前】

Public Declare Function 関数名 ...

【修正後】

Public Declare PtrSafe Function 関数名 ...

ExcelのVBAで作成した便利ツールがいくつかあり、自宅でもWindows 7化対応をしなくちゃだめなのか・・・と思いましたが、簡単な修正で済んで一安心です。

0 件のコメント:

コメントを投稿