いままでOfficeの32bit版のVBAでWindowsAPIを使用していたコードが、Officeを64bit版に変更するとコンパイルエラーになり使えないということが発生します。64bit版に対応させるためには、WindowsAPIのDeclareステートメントの宣言を書き換える必要があります。WEB検索するとMS公式のものも含めていろいろ情報が見つかりますが、分かりにくかったり、不正確な情報も多々あります。そこでhatenaなりに分かり安く整理してみました。 Office64bit版、Office32bit版どちらでも使用できるDeclare宣言詳しい解説は後回しにして、結論を先に書きます。 Office2010以降(VBA7)の場合Declare宣言実例で説明したほうか分かり安いと思いますので、SetWindowPos というAPIを例に説明します。 旧来の宣言は下記になります。 P
![WindowsAPI をOffice64bit版または32bit版のVBAで使うには | hatena chips](https://cdn-ak-scissors.b.st-hatena.com/image/square/4e3baf96f5d23e41461c380bc1b6b5652d34c2f8/height=288;version=1;width=512/https%3A%2F%2Fhatena19.com%2Fwp-content%2Fuploads%2F2019%2F08%2Fbooks_laptop.jpg)