ファイルが壊れる事象
あるファイルを編集し、問題なく保存できるが、次に開いたときに下記の「一部の内容に問題が見つかりました。可能な限り内容を回復しますか?」のエラーが発生する。
/xl/sharedStrings.xmlの差分を取ってみると、Excelが自動で設定するフリガナのタグ構成に問題があるようです。
再現手順
- Excelを起動、空白のブックを作成する
- 任意のセルを選択し、「データ」タブメニューから「データの入力規則」->「データの入力規則」を選択する
- 「設定」タブの入力の種類で「リスト」を選択し、元の値に「a,b,c」(任意の文字)と入力
- 「エラーメッセージ」タブで「無効なデータが入力されたらエラーメッセージを表示する」のチェックを外す
- 「OK」ボタンでデータの入力規則ダイアログを閉じる
- データの入力規則を設定したセルを右クリックして「セルの書式設定」を開く
- 「保護」タブの「ロック」のチェックを外し、「表示しない」にチェックを入れる
- 「OK」ボタンでセルの書式設定ダイアログを閉じる
- 「校閲」タブメニューから「シートの保護」を選択
- 「シートの保護」のチェックはそのままで「OK」ボタンにより保護を実行する
- データの入力規則を設定したセルに任意の半角+漢字(例:2019年)を入力
- Enterで確定後、再度同じセルに対して任意の半角+漢字(例:2019年)を入力(同じ文字でも別でも構いません)
- ファイルを任意の場所に保存し、ファイルを閉じる
- 上記で保存したファイルを開くと壊れた状態となっている
確認環境
- Windows 10 Pro 1709 64bit, Office 365 1803 (Excel 2016) 32bit
- Windows 10 Pro 1709 64bit, Office Professional Plus 2013 32bit
- Windows 7 Professional SP1 32bit, Office Professional Plus 2013 32bit
回避方法
どれかの条件が外れればOKなので、一番影響の無い「保護」タブの「表示しない」のチェックを外せば発生しなくなります。
そもそもこれは数式バーに数式を表示しないための設定なので、文字入力する箇所にこの設定は不要でした。