回答:
投稿され、ここで、私によって検証。
「満足できる」解決策と呼ぶものはありませんが、回避策があります(ちょっと!)2010年にワークブックが修復されない場合、Excel 2003を使用してファイルを往復して破損を削除します。
実際の「破損」の原因はわかりません。明らかに、Office 2010はoffice 2003よりもファイルの問題をチェックするのがはるかに「つまらない」。Microsoftによると:
「腐敗の原因を特定することは、不可能ではないにしても、非常に難しいことが多いことに留意してください。破損は、ブックの「シェル」、またはピボットテーブル、スタイル、定義名、オブジェクト、計算チェーン/式などの特定の領域に存在する可能性があります。破損は、たとえば、保存中のネットワーク障害、電力サージ、別のファイルからの破損のコピーと貼り付けなど、さまざまなシナリオによって発生する可能性があります。ファイルの破損をタイヤに釘を付けることと比較できます。気づかないうちに釘がタイヤに長時間詰まっていると、突然タイヤがパンクしたり、ファイルが読めなくなったり、奇妙な症状が表示されたりします。
それは貧弱な類推だと思いますが、これが役立つことを願っています。他のシステムからファイルをインポートする前に、ワークブックのワークシートの名前を変更します。長い名前は変換で問題を引き起こします
他の同僚から送られてきた.xlsxファイルを開こうとしたときにも、同様の問題が発生しました。Windows 7でOffice 2010を使用しています。
ファイルを開こうとすると、次のようになります。
Excelは、 'filename.xlsx'で読み取り不可能なコンテンツを見つけました。このワークブックの内容を回復しますか?このブックのソースを信頼する場合は、[はい]をクリックします。
[はい]をクリックすると、Excelがポップアップメッセージを表示します。 The file is corrupt and cannot be opened.
解決策:Windowsエクスプローラーでファイルに移動し、ファイルを右クリックして[ プロパティ ]を選択します。下部に[ セキュリティ ] と呼ばれる領域があり、[ ブロック解除 ]をクリックします。
これが、Windows 7でExcel 2010を使用してこれに遭遇した他の人の助けになることを願っています。
Excelブックを修復し、これが役立つかどうかを確認します。
問題の最も可能性の高い原因は、ExcelファイルがOpenXMLコーディングを使用して作成されたことです。これは、サーバーで使用するとセキュリティ上の問題があるOffice.Interopを使用する代わりにプログラムでExcelファイルを作成するためです。OpenXML形式は非常に複雑であり、OpenXMLは優れていますが、整形式のExcelファイルを作成するのは簡単ではありません。このエラーは、プログラマが日付または数値形式でテキスト列を設定するような単純なものが原因で発生する可能性があります。正しく実行するのは非常に困難で時間がかかるため、プログラマは問題がどこにあるかを見つけようとするのをあきらめ、生成されたファイルを開いて保存し、毎回エラーを取り除きます。OpenXML SDK 2.5 Productivity Toolを使用してこれらのファイルを開くことができます。これを検証すると、通常、バックグラウンドXMLのどこに問題があるのかがわかります。
OpenXML SDK 2.5 Productivity Tool
余分なエラーメッセージを出すのに本当に役立ちました。
他のファイルに接続しているファイルを開こうとしている可能性があります。セキュリティ設定により、これらの接続の自動更新が防止されるため、リンクが実行可能かどうかに関して、Excelが混乱したままになります。実際のファイルへのリンクに加えて、外部ファイルに依存し、ファイルを開くと更新に失敗するデータモデルへのリンクがある場合があります。[データ]-> [接続]に移動し、これに該当するかどうかを確認します。この問題が耐えられない場合は、リンクを解除してください。
私は同じ問題に直面し、問題を掘り下げた後、Excelのシートの名前には許可されていない特殊な文字が含まれていることに気付きました。特殊文字を削除すると、問題はなくなりました。
PSコードからExcelを生成していたため、シートの名前を動的に設定していました。
これは、プログラムで生成されたワークシートで起こりました。
Excelでは、「ワークシート内のハイパーリンク」の数に66,530のハード制限があります(https://support.office.com/en-us/article/excel-specifications-and-limits-1672b34d-7043を参照してください) -467e-8e27-269d656771c3?ui = en-US&rs = en-US&ad = US)。
ハイパーリンクの数をこのしきい値以下に減らすと、ワークブックは正常に開きました。(記録のために、OpenOffice Calcは元の不良ファイルも開くことができましたが、開くのは非常に遅かったです。)
原因:このエラーメッセージが表示される最も可能性の高い原因は、Excelファイル全体の破損、またはこのファイル内の1つ以上のオブジェクトの破損です。
さて、誰もこの問題の簡単な解決策を投稿していません。
「.xls」ファイルを「読み取り専用」にして開いてみてください。
1.「Officeボタン」をクリックして、新しいドキュメントの保存または以前に保存したドキュメントの保存を選択します。
2.「ツール」をクリックして、「一般オプション」を選択します
3.最後に、「読み取り専用」チェックボックスをクリックして、ドキュメントを読み取り専用にします
新しい空の '.xls'ファイルを開き、破損したExcelファイルからこの新しいファイルにすべてをコピーします。このファイルを保存して、もう一度開いてみてください。
何も機能しない場合は、Office 2010にVisual Basicコンポーネントをインストールします。
Excelファイルを別のフォルダーに移動して開き、問題ありません。