【マクロ・ClosedXML】
'xxxx.xlsx'の一部の内容に問題が見つかりました。とエラーが表示される場合の原因と対処法

記事イメージ

お疲れ様です。堺です。

マクロやClosedXML(C#でエクセル操作するライブラリ)などで処理して保存したエクセルファイルを開くと、「'XXXX.xlsx'の一部の内容に問題が見つかりました。」というエラーメッセージが出るトラブルについて、原因と対処法を紹介します。

ファイルを開くと、'XXXX.xlsx'の一部の内容に問題が見つかりました。可能な限り内容を回復しますか?と表示される。
ファイルを開くと、'XXXX.xlsx'の一部の内容に問題が見つかりました
尚、設定言語が英語の場合、"We found a problem with some content in 'xxxx.xlsx'. Do you want us to try to recover as much as we can?"と表示されます。
尚、設定言語が英語の場合、"We found a problem with some content in 'xxxx.xlsx'. Do you want us to try to recover as much as we can?"と表示されます

不完全な式をセルに入れてしまっていることが原因

例えば、以下の例のように不完全な式(カッコが閉じていない)をセルに入れて保存してしまうと、エクセルで開くときに標題のエラーが表示されます。

C#
using var wb = new XLWorkbook(@"C:\Users\sakai\Desktop\Book1.xlsx");
var ws = wb.Worksheets.First();
//不完全な式を入れてしまっている(IF関数のカッコが閉じていない)
ws.Cell(1, 1).SetFormulaA1("=IF(A1=A2,1,0");
wb.Save();

この場合、「はい」を選択すると不完全な式が入っている箇所は空きセルに変更された後にワークブックが開きます。

セル数が多いとどこが破損しているか大変ですが、式が消えている箇所を見つけて、そのセルを操作しているC#コードを修正しに行きましょう。

ClosedXMLのエクセルファイル操作については、別途記事を作成しています。

APIの使い方を網羅的に紹介しています。是非ご参考ください。

関連記事:【C#でエクセル操作】ClosedXMLの特徴と操作まとめ

記事筆者へのお問い合わせ、仕事のご依頼

当社では、IT活用をはじめ、業務効率化やM&A、管理会計など幅広い分野でコンサルティング事業・IT開発事業を行っております。

この記事をご覧になり、もし相談してみたい点などがあれば、ぜひ問い合わせフォームまでご連絡ください。

皆様のご投稿をお待ちしております。

記事筆者へ問い合わせする

※ご相談は無料でお受けいたします。
IT活用経営を実現する - 堺財経電算合同会社