今日は以前に発生したインシデントの対処、そういやそういうこともあったなぁ、的な。
バージョンアップの結果、最新バージョンでは問題の動作が発生しなくなった、という点ご報告です。
症状のおさらい
特定のAccessファイルを開くと
「データベースに含まれている VBA プロジェクトを読み取れないため、データベースを開くことができません。VBAプロジェクトを削除する必要があります。VBAプロジェクトを削除すると、モジュール、フォーム、およびレポートからすべてのコードが削除されます。データベースを開いてVBAプロジェクトを削除する前に、バックアップコピーを作成することをおすすめします。」
というエラーメッセージが表示されます。
詳しくは前回記事にて
バージョン 1708 (Build 8431.2079)、2017年9月のアップデートにて発生した事案でした。
修正バージョンがリリースされている
この問題を取り扱っているページ:
Office 2016 バージョン 1708 以降で日本語の VBA モジュール名を含むファイルを開くとエラー – Japan Office Developer Support Blog
これによれば、
10月30日に修正が公開されアップデートが配信されています。
アップデート適用
この「OfficeのUpdateでAccessアプリが動作しなくなる。 - treedown’s Report」記事でアップデートが自動適用されないよう、「更新オプション」のボタンを押下して「更新を無効にする」をクリックし自動更新が動作しないようにしていました。
これを再び自動更新有効化と更新の即時適用を実行してみます。
まずAccessを起動、適当に新規作成などで差し支えないAccessファイルを開きます。
開いたら「ファイル」⇒「アカウント」から画面右側のバージョン情報の下、「Office更新プログラム」の表記
自動更新が無効なので「この製品は更新されません。」と表示されています。ここの「更新オプション」ボタンをクリックして「更新を有効にする」をクリック。
画面の表示が「更新プログラムは自動的にダウンロードされインストールされます。」と表記が変わります。再び「更新オプション」ボタンをクリック。
出てくるリストから「今すぐ更新」をクリックして、期待の更新プログラムをダウンロードしインストールすることにします。
更新プログラムのダウンロードを意味する画面が表示されます。
途中でAccessファイルを閉じてね、と言われるので素直に閉じます。利用に影響ないファイルを開いたのは保存とか余計なことを考えなくていいようにするためです。
Accessファイルを閉じると、
この画面になって実際の更新プログラム適用が開始します。更新はそれほど時間が掛かりませんでしたが、多少は待つことになります。
しばらくすると、完了して自動的にAccessが起動してきました。さっそくバージョンを確認してみます。
画面は、12月11日(12日?)に公開されたOfficeの最新バージョン1711(Build 8730.2122)にアップデートされた後の画面です。詳細バージョンも見てみますと、
バージョンが16.0.8730.2046になりました。
この状態で問題が発生していたAccessファイルを開いてみましたが、冒頭のエラーメッセージは表示されず、正常に動作するようになっていました。
問題の要因は日本語のモジュール名やユーザーフォーム名を含む VBAProject を開けなくなっていたことで、マクロが実行されなかったこと、なのですが、問題は解消されたと判断できそうです。
ひとまず、自動更新に戻してやれやれ、一安心。