Excel2016 ‘ファイル名’ の一部の内容に問題が見つかりました。可能な限り内容を回復しますか?

今朝、仕事を始めようとエクセルのファイルを開けたら

「’ファイル名’ の一部の内容に問題が見つかりました。可能な限り内容を回復しますか?

ブックの開発元が信頼できる場合は、[はい] をクリックしてください。」

と、突然の悲しいメッセージ。

computer_note_bad

昨日の夕方、そんなおかしなファイルの閉じ方はしていないはず。

とりあえず、

「はい」

をクリックしてファイルを開けたら・・・・

「無い?無い?」

昨日までそこにあった、エクセルマクロのフォームとモジュール達が!!!

影も形もなく(T_T)

■■■スポンサーリンク■■■

不幸なことに、昨日に限ってバックアップファイルを残しておらず、一番新しいファイルでおとついの夕方のファイル。

「昨日一日の作業が全てパーになった・・・・」

しかし、このファイルの壊れ方は今までの経験上、何かおかしい。

正常に終了したファイルが、突然こんなことになるなんて今まで無かった。

で、ググってみると同じ現象に遭われている方がいらっしゃる・・・。

更に調べてみると(以下Microsoft Developerより引用させていただきます)

「Office 2016 クイック実行形式 (C2R) 向けのバージョン 1708 の更新によって、日本語のモジュール名やフォーム名を持つ Office ファイルを開くときにエラーが発生する動作」

という記事を発見。

ポイントを赤文字にさせて頂きました。

1. 現象

Office 2016 クイック実行形式向けの更新 バージョン 1708 (16.0.8431.xxxx) において、モジュール名やフォーム名に日本語が設定された Office のマクロ付きファイルを開こうとすると、以下のようなメッセージが表示され、正常に開くことができません。

この問題は、VBA モジュールの問題によって生じるため、VBA を作成できるすべての Office アプリケーション (Excel / Word / PowerPoint / Access / Publisher / Project / Visio / Outlook)  で問題が生じます。アプリケーションによって、VBA モジュールのエラーハンドリングが異なるため、詳細な動作は異なりますが、いずれも、日本語のモジュール名、ユーザーフォーム名を含む VBAProject を読み込むことができず、マクロを実行できません。その他、以下のような現象が発生します。

  • ファイルのオープン時や、Visual Basic Editor の起動時にエラーメッセージが表示されます
  • ファイルを保存すると、VBAProject が削除されます (上書き保存を行わないようご注意ください)
  • Word  については、日本語のモジュール名を含む VBAProject が含まれている場合、ファイルを上書き保存することができません
  • Publisher については、日本語のモジュール名を含む VBAProject が含まれている場合、ファイルを開くことができません

補足) 本現象は、厳密には、モジュール名やフォーム名の末尾が日本語 (をはじめとする DBCS 文字) の場合に発生します。このため、例えば「フォーム1」(1 は半角数字) のように末尾が半角の場合には、名前に日本語を含んでいても現象は発生しません

2. バージョン 1708 更新の公開状況

2017 年 9 月 19 日現在、バージョン 1708 は Office Insider ファースト / スロー、Monthly Channel (旧 Current Channel)、および Semi-Annual (Targeted) Channel (旧 First Release for Deferred Channel) 向けに公開されています。

3. 対応状況

この動作は製品の問題と判断しており、現在弊社内で修正に向けた作業を行っています。

現時点では、本現象への有効な回避策はありません。以前のバージョンなどでモジュール名およびフォーム名を半角英数字に修正してください。

■■■スポンサーリンク■■■

****************************************

つまりこの現象はOffice 2016のバグで、現時点では解決策が無いということです。

解決策はありませんが、ファイルを復活させる方法はあります

壊れた(と思われる)ファイルを、Office 2016よりも旧バージョンのOfficeで開くことです。

私も、Excel2010でファイルを開いたら、見事に元通りのファイルを見ることができました。

「ファイルが壊れました」等のメッセージも出ません。

で、Excel2010上で、モジュール名、フォーム名を修正します。

モジュール名やフォーム名の末尾が日本語 (をはじめとする DBCS 文字) の場合に発生

これが、今回のエラーの原因なのでモジュール名の末尾の文字を半角数字などに変更し、別名保存

それから、Excel2016で開いたら、これまた見事に復活!!

ファイルが元通りです(*´▽`*)

Excel2016を以前のバージョンに戻す方法等はMicrosoft Developerのサイトにあります。

本当に、朝一からドキドキの時間を過ごしました。

皆さまもお気を付けくださいませ。

【参考】

Excel2016 ‘ファイル名’ の一部の内容に問題が見つかりました。可能な限り内容を回復しますか?
Excel2016 ‘ファイル名’ の一部の内容に問題が見つかりました。可能な限り内容を回復しますか?続報1
Excel2016 ‘ファイル名’ の一部の内容に問題が見つかりました。可能な限り内容を回復しますか?続報2
VBA(マクロ)作成の前、リボンに開発タブを表示させる(Excel VBA)
ユーザーフォームの作成方法 準備(Excel VBA)
ユーザーフォームのオブジェクトの名前を「UserForm1」から変更する方法(Excel VBA)
ユーザーフォームの上のバー(タイトルバー)の名前を「UserForm1」から変更する(Excel VBA)

■■■スポンサーリンク■■■