Help

修復されたレコード: /xl/sharedStrings.xml パーツ内の文字列プロパティ (文字列)

Excelを開いたときに

”ブック名”の一部の内容に問題が見つかりました。可能な限り内容を回復しますか?ブックの発行元が信頼できる場合は「はい」をクリックしてください。

と表示されてしまったことはないでしょうか。

'***'の一部の内容に問題が見つかりました。可能な限り内容を回復しますか? ぶっくの発行元が信頼できる場合は、[はい]をクリックしてください。

今まで編集できていたのになぜだろう?と思ったことはないでしょうか?

原因は様々なので一概には解決方法をご紹介できませんが、原因までたどり着く方法を順を追って説明します。

Excelを回復しても大丈夫?

メッセージにある通り発行元が信頼できる場合は、回復してしまっても問題ありません。

ただし、修復後のファイルを保存する場合は、一旦別の名前にしておくなどバックアップは残しておきましょう。

どこが修復されたのかを確認したい場合は、以下もご確認ください。

エラーの原因を調査

今回の現象を調査する上で、必要な知識を少し説明します。

エクセルは『XML』の集合体

エクセルファイルが、実はXMLが集まって作られていることはご存じでしたか?

エクセルは表計算ソフトですが、データや色、レイアウトなど様々な情報で管理されています。詳しいことは省きますがXMLには以下のメリットがあります。

  • XMLのタグは、データの意味を表し、構造化できる。
  • XMLのタグは自由に決めることができる。
  • XMLにはデータの内容が記載され、レイアウトやデザインの機能は分離されている。

データの構造化する上でXMLは拡張性とエクセルの相性はぴったりだったんですね。

エクセルファイルをXMLに分割

準備するもの

  • 修復前のファイル
  • 修復後のファイル
  • 差分比較ツール(DF、WinMergeなど) ※あれば

エクセルファイルをXML化

まずは修復前と修復後のファイルをXMLに分解しましょう。

とは言っても難しい手順はなく、拡張子を”zip”に変更して解凍するだけです。

拡張子を変更

『book1.xlsx』 → 『book1.zip

ファイルを解凍

『book1.zip』を解凍

差分比較

修復前と修復後の解凍したファイルを比較すれば差分が確認できます。

 

原因について

原因は修復後に表示されるメッセージの内容である程度特定できます。

上記画像の場合、

『xl/sharedStrings.xml』ファイルの”パーツ内文字列”に問題があったので修正しました。

という意味になります。

今回の例では、文字列を入力した際に自動で設定されているフリガナが異常となっていました。

Webブラウザや他のアプリケーションなどから文字をコピーして貼り付けた場合などに発生する印象があります。

Excelやテキスト以外からコピーすると発生することがありますので注意しましょう。

Webページの文言は、一旦テキストエディタなどに張り付けてからコピーするといいでしょう。

補足

エラーの内容はExcelのバージョンやアップデートなどで変わります。

頻発するようであれば不具合の可能性もありますので、必要に応じてマイクロソフトに問い合わせましょう。