突然、「VBA プロジェクトを読み取れないため、データベースを開くことができません。」というエラーメッセージで警告された。(Access 2016 の場合)
「VBA プロジェクトを削除する場合は、[OK]をクリックしてください。」と表示しているので、[キャンセル]をクリックするのですが、何度クリックしても画面は閉じません。
仕方なく[OK]をクリックすると VBA プロジェクトが、すべて消去されます。つまり、プログラムが全て削除されるのです。
こんな、バグ、ありますか?本当にひどい!
Office 2016 バージョン 1708
Excel 2016 と Access 2016 で、昨日と今日、ユーザー様からの連絡で発覚しました。
Excelの場合のメッセージ
例1)'ファイル名' の一部の内容に問題が見つかりました。可能な限り内容を回復しますか?
例2)このブック内の Visual Basic for Applications (VBA) マクロは破損しており、削除されました。
読み取れなかった内容を修復または削除することにより、ファイルを開くことができました。
Excel の場合は、このような画面です。バージョンが 1708 で発生する同様の症状です。
マクロや VBAプログラムが削除されると、下記のような画面が表示されます。
同様に Office 製品のバージョンは、1708 です。クイック実行では、自動的にプログラムのバージョンが上がっていきます。
マイクロソフトの情報は、下記の通りです。
Office 2016 バージョン 1708 以降で日本語の VBA モジュール名を含むファイルを開くとエラー – Japan Office Developer Support Blog
本現象への有効な回避策はありません。
プログラムが、動かない。
常に、最新の Office を使うのは、こんなに危険です。
Windows OS のアップデートは、自動で行った方がセキュリティ対策にはよいが、Office のアップデートは、手動で行う方がよさそうです。
業務システムが、突然エラーが出始めるなんて恐ろしくて使えません。
正式対応が掲載されました。(推奨)
Monthly Channel および Office Insider スローに修正を公開しました。Monthly Channel は 16.0.8431.2094、Insider スローは 16.0.8528.2126 で修正されています。ただし、現時点ではまだ、自動更新ではこのバージョンに更新されないことがあります。[ファイル] タブ - [アカウント] - [更新オプション] - [今すぐ更新] から手動で更新してください。(以下の暫定対応手順で、指定するバージョンを上記の修正されたバージョンに変更して実行することでも更新できます。)
手動で、[今すぐ更新]を行ってください。
暫定対応手順が掲載されました(終了)
バージョンを戻す方法をわかりやすく説明しています。コマンドプロンプトの使い方がわかる方なら、簡単にバージョンを戻せます。下記のリンクを参照してください。
Office 2016 バージョン 1708 以降で日本語の VBA モジュール名を含むファイルを開くとエラー – Japan Office Developer Support Blog
原因は、日本語(2バイト)文字のようです。
補足) 本現象は、厳密には、モジュール名やフォーム名の末尾が日本語 (をはじめとする DBCS 文字) の場合に発生します。このため、例えば「フォーム1」(1 は半角数字) のように末尾が半角の場合には、名前に日本語を含んでいても現象は発生しません。
バージョンを戻す方法 (終了)
下記を参照して、実行してください。
以前のバージョンの Office 2013 または Office 2016 クイック実行に戻す方法
ユーザー様には、閲覧と検索機能をマクロを使わずに作成して1週間様子を見てもらって、マイクロソフトが対策をしなかったら、バージョンを戻すことにししまた。
【対策1】マイクロソフトの最新対策を行う(推奨)
【対策2】他のバージョン Excel 2013 / Excel 2010 などで使用する。(暫定)
【対策3】前のバージョンに戻す。(コマンドプロンプトの知識が必要です)
幸運にも、まだ、このバグにやられていない方は、Office 2016 の[更新を無効にする]ことをお薦めします。下記の手順で自動更新を停止してください。
バージョンを戻した場合は、下記の方法で自動更新を無効にする必要があります。
この手順はとても重要です。 修復プロセスを実行すると、自動更新が再び有効になります。 最新バージョンの Office クイック実行が自動的に再インストールされないように、次の手順を実行します。 Outlook等の Office 製品 を起動します。 [ファイル] をクリックし、[Office アカウント] をクリックします。 [製品情報] 列の [更新オプション] をクリックし、[更新を無効にする] をクリックします。