64ビット版Excelについて

Microsoftもいよいよ64ビット版に舵を切るようです。
 (64)    Office2019PC64  PCOffice2019PC
 PCOfficeMetro(C2R)  Program Files6432  ()  6464
64ビット版のバージョン情報
Office2016PC32
 


2020Microsoft 365(Office 365)3264(PC)




Windows64Office64
 Office64調
 64Windows32(WoW64)
 64Windows
 32Office64Windows  Office2016OfficePC  Windows64Office32
 64Office
 
組み合わせでの
動作可否
Office
 32ビット版   64ビット版 
Windows  32ビット版  ×
 64ビット版 

動作可否はこの表のようになります。これはOfficeに限ったことではありませんが、64ビット版Windows上では32ビット版Officeと、 64ビット版Officeのどちらでも選択できます。(両方のOfficeを共存させることはできません)

企業内全般で64ビット版Officeに切り替えるのか
企業内で32ビット版Office64ビット版Officeが混在している場合は、 64ビット版Officeで作成できるような巨大なドキュメントファイル(2GB超)を作成しても32ビット版Officeでは開くことはできないので 64ビット版Officeによるメリットは享受できません。 動作速度に関する違いは検証できませんが、物理PCが同じである以上、ほぼ何も違わないと思われます。


もうひとつの問題は企業内にAPIのマクロ記述を含むドキュメント資産がどの位あるかです。
64ビット版Officeに対応していないAPIのマクロ記述はすべてエラーになります。 それぞれのマクロ記述を書き換える必要が発生します。
互換性を重視するなら32ビット版Officeを選択しなさい、というのはMicrosoftの見解でもあり、 以前からOffice 201364 ビット版」などの文書が出されています。
どちらを選択するかについては64ビット版と32ビット バージョンのOffice間での選択します。」というページがありました。


Windows供給のAPIについては一部例外を除いて記述修正で済みますが、 サードパーティーからのDLLCOMアドインで32ビット環境しか対応していない場合はこれを利用するものは実行できないことになります。 リボンタブが追加されたり、アドインタブにツールバーが表示されるようなものを利用されている場合はマクロの有無に関係なく注意が必要です。

Excelは本来、バージョン互換が高いアプリケーションです。
APIを含むマクロ記述が無いExcelドキュメントについて、32ビット版Office64ビット版Officeでの非互換情報はよく判りません。 特にOffice365についてはどんどん機能追加されてしまうので、非互換がビット数の問題かどうかも判りにくくなっている状況だと思います。


但し、APIを含むマクロ記述についてははっきり在来記述だと「非互換」と判っているので、「Excel環境」のページですが互換を採るための方策の説明をしておきます。


マクロを持つワークブックを社内で配布した時バージョン管理の問題を捉えなければならないことは、当サイトの立ち上げ当初から「配布の問題」で説明していた通りです。 いよいよこの問題が差し迫ってきていると認識して下さい。64ビット版Officeを禁止してしまうのも当面の方策です。


問題のマクロ記述を持つワークブックを64ビット版Officeで開くと、
64ビット版でのエラー
このようなエラーが表示されます。

プロジェクトがパスワード保護されている場合は、
64ビット版でのエラー
このようなメッセージに変わります。これはWindows10+Excel2019なのですが、 メッセージが「尻切れ」になってしまっています。

以前のバージョンだと、
64ビット版でのエラー
このように表示されていました。

これらのコンパイルエラーは対象のワークブックをマクロ有効にして開いた時に表示されるものでマクロ自体の実行に関係なく表示されます。 逆に言えば、エラーが表示されなければマクロがあるワークブックであっても当面のAPI記述の問題はないということになります。
(マクロの実行可否は別ですが....)


この場合はマクロの変更が必要になります。
この変更については「API関連」の32ビット版、64ビット版での共用利用」をご覧下さい。