本記事についての注意書き
- 本Webサイトの記事は前置きが長いものが多いですが、この記事は特に前置きが長いです。
- この記事の後半でMicrosoft Office 2013の32bit版をアンインストールし、64bit版をインストールする記述が登場します。32bit版のアンインストールについては参考文献に示したMicrosoft社謹製の記事の方法に従って作業を進めましたが、記事に記載の方法を実行しただけではアンインストールを完了させることができませんでした。アンインストールが完了できない場合、Microsoft Officeの再インストール及びアップグレード等の作業もできなくなる恐れがありますので、Microsoft Officeをアンインストールする場合にはそれに伴い発生する可能性のある損害及びその他の問題等について十分検討された上で作業をされることをお勧めします。また、本WebサイトではMicrosoft Officeをアンインストールしたことにより生じた損害等については一切責任を負いません。
壮大な前置き。
職場ではかなり偉い人だという噂の嫁様用に「ExcelからSQLite3のデータベースへアクセスしてデータを操作するExcel VBAのマクロ」を作ってからこの記事を最初に書いた時点(2019年3月)約半年が経過しました(作った時の経緯などはこちらをご参照ください)。
そのマクロの運用を開始してからというものの、機能改善的な修正は行いましたが、それ以外には大きなトラブルもなく運用されているようで、「今まで同じ情報を繰り返し入力していたものが1回の入力で済むようになったので、処理がかなり楽になった。」というお褒めのお言葉をいただき、月末の帰宅時間もそれまでよりもかなり早くなりました(※個人の感想です)。
しかし、トラブルはクソ忙しい年末に限り発生するもので、先日、職場の嫁様より電話がかかってきて、
「マクロのボタンを押したところ、『エラー53: ファイルが見つかりません。』というメッセージが表示されて動かない。」という連絡がありました。
そういえば、嫁様の職場のPCが上記の連絡をもらうちょっと前に調子が悪くなって、新しいPCと交換したときにMicrosoft Officeが2019に更新されたっていうような話をしていた気がするなぁ… と思いつつも、マクロの使用頻度って2-4週間に1回だったはずだから、落ち着いて対応した方が良いと思ったので、とりあえず、
「現段階では対応できない。家に帰ってから対応する。」
ということで、いったん電話を切りました。
それで電話を切った後に、「Excelが64bit版なのが原因では?」と思いつつも目の前の仕事をやっつけていたところ、嫁様より、
「Excel 2010なら動いた。」
という連絡がありました。そこで、金曜日まではExcel 2010でマクロを使ってもらい、週末に原因の調査と修正を行うことにしました。
自宅の嫁様のPCはHPのSpectre x360 13の2018年モデルのローズピンクのもの(通常モデル(一例)を以下に示します。)
なので、
「これにはさすがに64bit版のMicrosoft Officeがインストールされているはず…」
と思ったのですが、いざ週末になってSpectre x360 13のMicrosoft Officeのバージョンを調べてみたところ、
スポンサーリンク
ものの見事に32bit版でした… _| ̄|○
そこで、本Webサイトの管理人たるpandaが使用しているdynabook R732/37HK(こいつです↓)
にインストールされていたMicrosoft Office 2013(32bit版)を64bit版に切り替えるために32bit版をアンインストールしようとしたところ、これが思わぬ騒動を引き起こしてしまったので、この記事ではそれについて書いていきます。
Microsoft Office 2013の64bit版への切り替え
事前の情報収集及び確認
Microsoft Office 2013(32bit版)を64bit版に切り替える場合でも、ライセンスキーは32bit版のものがそのまま使えるようです(参考文献参照)。また、64bit版のインストールを行う前に32bit版をアンインストールする必要があります。
32bit版をアンインストールする前にExcelのバージョンを確認しておきます。Excel 2013のバージョンの確認は以下の手順で行うことができます。
- Excelを起動します。
- 「アカウント」(下図の赤矢印)をクリックすると、以下の画面に切り替わります。
- 画面右下の「Excelのバージョン情報」をクリックすると、以下のようなバージョン情報が表示されます。32bitか64bitかについては下図の赤矢印の部分で確認できます。
32bit版のアンインストール
事前の情報収集及び確認が終わったところで、「アンインストールに失敗したら嫌だなぁ…」と思いつつ、32bit版をアンインストールします。
アンインストール自体はWindows 10の他のアンインストール作業と同様の作業方法でアンインストール(「コントロールパネル」→「プログラムのアンインストール」→「Microsoft Windows 2013」→「アンインストール」ボタンを押す。)できます。
アンインストールが終わったら、ここのページの方法に従って64bit版をインストールするのですが、ダウンロードしたインストーラっぽいファイルの実行ができませんでした。
「これは再起動が必要なのだろう。」と思ってPCを再起動してから、上記のインストーラっぽいファイルを実行すると、今度は、
“申し訳ございません。Office のインストールを開始できませんでした。別のインストールが進行中です。後でもう一度やり直してください。”
エラーコード 0-1018
というポップアップが表示されて、インストールが失敗してしまいます。
そこで、「0-1018」というキーワードでGoogle先生にお伺いを立ててみると、
「Easy Fix ツールを Office を完全にアンインストールできます。」
という記述がありました。そこで早速Easy Fixをダウンロードして実行してみます。
すると、「Microsoft Office 2010や2007用のファイルも削除します。」等というようなメッセージも表示されますが、削除できるものはすべて削除してしまいます。
念のためPCをもう一回再起動してから上記のインストーラっぽいファイルを実行してみると…
インストーラっぽいファイルが動きました!!!👍
ということで、カップヌードルを食べながらしばらく待つとインストールが完了します。😎
インストール後の確認
インストールが完了したら、64bit版がインストールされているかどうかを確認します。
確認の方法は32bit版と同様ですので、サクサクと確認してみると…
インストールされていることが確認できます。(`・ω・´)
エラー53の発生の原因の確認と修正
64bit版の(Excel含む)Officeがインストールできたので、再現テスト(?)を行ってみます。
そういえば、64bit用のDLL(sqlite3.dll)を入れてなかったなぁ、と思ったので、64bit用のDLL(sqlite3.dll)を置くためのディレクトリ(x64)を作ってその下に64bit用のDLL(sqlite3.dll)を置きつつ、そのDLLをオープンするためのExcel VBAの関数(以下のようなものです。)を新たに作りました。
そして、元のマクロのうち、SQLite3Initializeを使っている箇所(複数あります。)をSQLite3Initに書き換えたところ、64bit版でもSQLite3Initialize関数の実行時にエラー53が発生しなくなり、データベースにアクセスできるようになりました。(`・ω・´)
まとめ
「64bit環境下におけるExcel VBAのマクロのテスト用の環境を確保すること。」を目的にMicrosoft Office 2013の32bit版のアンインストール及び64bit版のインストールを行いましたが、その方法を記述したページの先頭に下図の赤枠のような記述がありますので、Excelを(開発用途以外の)通常の用途で使用する場合にはアンインストールは行わない方が良いでしょう。
嫁様に提供したExcel VBAのマクロの問題対応についてはここまでで一応の区切りはついたと思いますが、別の問題などが発生した場合には別の記事でまた書くつもりですので、その節はよろしくお願い申し上げます。🐼
この記事は以上です。