64bit版WindowsにOffice365またはOffice2019を新規インストールすると、明示的に32bitを指定しない限り、64bit版がインストールされるようになった。
マイクロソフトが64bit版を推奨すると方針転換したのは2019年以降なので、それ以前に導入したOfficeは、ほとんど32bit版になっていると思う。
ExcelマクロやAccessアプリをガシガシ使っているような現場の場合、組織内で、32bit版と64bit版が混在するのはトラブルの元である。
ということで、PCやOfficeを買い直すことなく、32bit版を64bit版に変更する方法を説明する。
なお、ひとつのPCで32bit版と64bit版の共存は出来ないため、64bit版をインストールする前に、32bit版をアンインストールしておく必要がある。
Office365の場合
Office365で躓くことは先ず無いだろう。普通に再インストールすると64bit版が入るからだ。ただ、明示的にbit数を指定する手順は知っておくに越したことはないので一応解説しておく。
例えば、業者が納品したコンパイル済ACCDE形式のAccessアプリが32bitじゃないと動かないとかで、社内すべて32bitに寄せておきたいこともあるだろう。(筆者のお取引先でも過去にあった)
インストールオプションの選択
https://portal.office.com にサインインし、[Officeのインストール] で [その他のインストールオプション] を選ぶ。
バージョンの変更
バージョンで64ビット/32ビットを選択し、[Officeのインストール] をクリックする。
永続ライセンスの場合
Office2019は標準で64bitなので、Office Professional 2016 での手順を説明する。
家庭向けOfficeのエディション(Home & Business)は試してないので分からない。
プロダクトキーの入力
https://setup.office.com にサインインし、プロダクトキーを入力する。
ただし、アカウントにプロダクトキーが紐づいていれば、プロダクトキーの入力は求められない。
ダウンロードURLの取得
[今すぐダウンロード] を右クリックし、リンクURLを取得する。選択肢はブラウザによって異なるが、Chromeなら「リンクのアドレスをコピー」になる。
URLの書き換え
URLに含まれる platform=x86
を platform=x64
に書き換えてアクセスすると、64bit版のインストールファイルがダウンロードできる。
まるで裏技だが、マイクロソフトの中の人も認めた手順なので安心して良い。
設定の引き継ぎについて
32bit版でカスタマイズした各種設定や「最近使ったアイテム」は、そのまま64bit版に引き継がれるようなので、すぐに使うことができた。
VBAコードの影響
ExcelマクロやAccessアプリでbitに依存するコードというのは、外部ライブラリとリンクする場合である。
具体的には、実行時バインディングのCreateObject
とかDeclare
宣言は見直した方が良い。事前バインディングの場合は参照設定を見直すことになる。
32bit版と64bit版のマクロを別々に作成するのはバージョン管理が大変になるので、コード内で処理を振り分けるのがスマートなやり方だ。
#If Win64 Then
strProvider = "Microsoft.ACE.OLEDB.12.0" ' 64bit版OLEDBプロバイダ
#Else
strProvider = "Microsoft.Jet.OLEDB.4.0" ' 32bit版OLEDBプロバイダ
#End If