Django Girls and Boys 備忘録

Python、Selenium、Django、java、iPhoneアプリ、Excelマクロなどで気付いたこと、覚えておきたいことなどを載せていきます。

【Microsoft Office】Office更新時などに発生するエラー「このプロジェクトのコードは、64ビット システムで使用するために更新する必要があります」についての対処方法


PCやOffice更新時に以下にようなエラーが表示されて困ったことがありました。

 

自分の場合は、Officeを更新した時にそれまで使用していた32ビット版から64ビット版に変更したのですがその時にこのエラーが発生しました。

 

Office更新時エラー発生

Office更新時エラー発生

 

その時の対処方法を備忘録として残しておきます。

 

 

 

1.対処方法

 

該当のエラーは、Officeの64bit版でWin32API(32bitのWindows API)を呼び出す時に発生します。


32bitと64bitでは使用できる領域が異なりそのまま使うと問題が発生する場合があるため確認の意味も込めたエラーメッセージとなります。

 

対処方法としては、「64bit版にした時に、Declareステートメントに PtrSafe 属性を追加すればいい」ということです。

 

マイクロソフトの公式ページには、

 

「このプロジェクト内のコードは、64 ビットシステムで使用できるように更新する必要があります。 Declare ステートメントを確認して、更新し、それらに PtrSafe 属性のマークを付けます。」

 

という記載があるのでこれに沿って変更をかければいいということになります。

 

具体的には、

 

Declare → Declare PtrSafe

 

のように変更するということになるため、

 

たとえば、

 

Private Declare Sub Sleep Lib “kernel32” (ByVal ms As Long)

 

のように宣言されている箇所があった場合には、

 

Private Declare PtrSafe Sub Sleep Lib “kernel32” (ByVal ms As Long)

 

のように「PtrSafe」を追加すればいいということになります。

 

以上が、Office更新時(32bit→64bit)などに発生するエラー「このプロジェクトのコードは、64ビット システムで使用するために更新する必要があります」についての対処方法になります。