"PowerPoint found a problem with content in [file].pptx"

このメッセージは、PowerPoint がファイル内で解析できない何かに遭遇して停止したことを意味します — スライドが消えたわけではありません。.pptx は関係によって互いに結び付けられた XML パーツの ZIP であり、パッケージを修復すれば通常、復元可能なスライド・テキスト・画像が戻ってきます。

ファイルがデバイスから出ることはありません — 修復はブラウザ内で実行されます。アップロードは 0 バイトです。

Your data is the big block — usually intact. What breaks is the small index. Repair rebuilds it.

ここにファイルをドロップするか、参照してくださいタップしてファイルを選択

ZIP · Office · PDF · 動画 · JPG · PNG · RAR/7z · SQLite — ブラウザ内でそのまま修復します。何もアップロードされません

アップロード済み 0 バイト無料: 1 日 3 回の修復 — 動画は最大 500 MB、ドキュメントとアーカイブは 100 MB、写真は 50 MB。ダウンロード無料。1 回の修復は €5.90。アカウント不要。

今すぐ修復

  1. ファイルをドロップ
  2. 修復はローカルで実行
  3. 結果をダウンロード

PowerPoint が "PowerPoint found a problem with content in [name].pptx"([name].pptx のコンテンツに問題が見つかりました)と表示し、修復を試みるよう提案するとき、それはファイルを開き、内部のパーツを読み始めて、解析できないものに遭遇したことを意味します — 壊れた ZIP インデックス、不正な形式の XML の断片、あるいはパーツ間の壊れたリンクです。正常なスライドを見せる代わりに、プレゼンテーション全体を拒否するのです。しかし .pptx は 1 つの不透明な塊ではありません。独立した XML ファイルとメディアファイルからなる標準的な ZIP パッケージ(OOXML / Open Packaging Conventions 形式)で、関係ファイルによって縫い合わされています。上にドロップすると、ツールはそのパッケージをブラウザ内で再構築し、生き残ったパーツを復元し、それらの間のリンクを張り直します — 何もアップロードしません。

.pptx とは実際には何なのか

.pptx の拡張子を .zip に変えれば開けます。その下は、Microsoft の Office Open XML (OOXML) レイアウトに従うごく普通の ZIP アーカイブです。中には [Content_Types].xml(各パーツの種類を宣言するもの)、パーツどうしを結びつける関係ファイルが入った _rels/ フォルダ、そして ppt/ 以下にプレゼンテーション本体があります: ppt/presentation.xml(ドキュメントの背骨とスライドの順序)、スライドごとの ppt/slides/slide1.xmlslide2.xml… に加えて、slideLayouts/slideMasters/theme/、そして埋め込まれた画像・音声・動画を普通のファイルとして保持する ppt/media/ フォルダです。

この構造こそ、このエラーがたいてい乗り越えられる理由です。テキストはスライドパーツ内の読める XML として存在し、画像は ppt/media/ にある完全なファイルです。ZIP の中央ディレクトリ(ファイル末尾にある目次)が切り詰められたダウンロードで壊れたり、ある XML パーツが不正な形式だったりすると、PowerPoint は停止します — しかし大多数のパーツは依然として無傷で、取り出すことができます。

スライドはどう結び付いているのか — そして、なぜ 1 つの不良パーツがすべてを壊すのか

1 つの不具合がプレゼンテーション全体を落としかねない理由は、PowerPoint のパーツが互いをファイル名で参照していないからです — パーツは関係 ID で参照し合っており、その連鎖は端から端まで保たれていなければなりません。ppt/presentation.xml はプレゼンテーションを <p:sldId id="256" r:id="rId2"/> というエントリからなる <p:sldIdLst> として列挙します。その r:id はファイルパスではありません。ppt/_rels/presentation.xml.rels の中で引かれるキーであり、そこで rId2slides/slide2.xml が対応づけられています。つまりスライドの順序とスライドの存在は 2 つの異なる場所に保存されており、それぞれ独立して壊れることがあります:

  • その r:id または <p:sldId> エントリが失われた無傷の slide2.xml孤立します — 物理的には存在するのに、PowerPoint からは見えません。
  • 対象が失われている関係を指す <p:sldId>宙ぶらりんの参照であり、それに遭遇することは「found a problem with content」の典型的な引き金です。

スライドは継承するため、さらに脆くなります。各 slideN.xml は独自の _rels を持ち、それが slideLayout を指し、それが slideMaster を指し、それが theme を指します。これは共有された依存関係です: slideMasterslideLayout を 1 つ壊すと、その上に構築されたすべてのスライドが一度に失敗します — だからこそ、見かけ上たった 1 つの壊れたパーツのせいでプレゼンテーションが開くのを拒むことがあるのです。したがって修復とは単に「スライドを復元する」ことではありません。生き残ったパーツが再び互いを見つけられるよう、関係グラフを再構築することです。

ブラウザ内の修復がスライドをどう復元するのか

ツールは .pptx をそのままのもの — ZIP/OOXML パッケージ — として扱い、3 つのレベルで作業します。第一にコンテナ: ZIP インデックスが壊れているか欠けている場合、ファイルを走査して格納された各パーツのローカルヘッダを探し、生き残ったエントリからアーカイブを再構築します。第二にパーツ: 主要な XML の部品([Content_Types].xmlpresentation.xml、スライドパーツ)を検査し、XML が正しい形式であるものをすべて残します。第三に関係: _rels グラフを修復し — 孤立したスライドを sldIdLst の中へ参照し直し、宙ぶらりんのリンクを取り除いて — PowerPoint が壊れたポインタで詰まる代わりにパッケージを開けるようにします。

これは PowerPoint 自身の「Open and Repair」(開いて修復)よりも外科的です。この機能は、成功したときでも、読めないものを黙って破棄し、「Repaired Records」(修復されたレコード)という回復ログを表示します — これはしばしばスライドがひっそり消えたことを意味します。代わりにパッケージを再構築すれば、本当に無傷である各パーツが保たれます。

正直な限界もあります。最も脆いパーツは埋め込みオブジェクトです: グラフは自身のデータを ppt/embeddings/ 内の .xlsx ブックとして持ち(プレゼンテーションに入れ子になったスプレッドシート)、OLE オブジェクトはそこに .bin ブロブとして置かれています — それら埋め込みファイルのどれかが不正な形式のパーツだと、そのスライドが復元されても、グラフやオブジェクトは失われることがあります。特定の slideN.xml がそれ自体、解析できないほど壊れている場合、そのスライドの編集可能なコンテンツは失われることがありますが、その画像は ppt/media/ にしばしば残ります。そして切り詰められたダウンロードがそもそも届けなかったバイトは、再生成できません — 可能なら元ファイルを再ダウンロードしてください。ここでのすべてはブラウザ内で実行されるため、機密のプレゼンテーションが修復のためだけにサーバーへコピーされることは決してありません。

修復できるものとできないもの

修復できる

  • ZIP の中央ディレクトリが破損したり切り詰められたりした .pptx — 完全に書き込まれたパーツは再構築されます
  • 孤立したスライド(r:id または sldIdLst エントリが失われた無傷の slideN.xml)をプレゼンテーションに参照し直します
  • 多くのスライドが共有する 1 つの破損した slideMaster/slideLayout によって落ちたプレゼンテーション — 関係グラフが修復されます
  • XML がまだ正しい形式であるスライドパーツから、スライドのテキストとレイアウトを復元する
  • ppt/media/ に生き残った埋め込み画像やメディアを復元する

修復できない

  • 自身の XML が解析できないほど壊れている特定のスライド(その編集可能なコンテンツは復元できないことがあります)
  • 解析できないほど壊れた、埋め込みグラフのブック(ppt/embeddings/*.xlsx)または OLE オブジェクト
  • 切り詰められたダウンロードがそもそも届けなかったファイルの一部(可能なら元ファイルを再ダウンロードしてください)
  • パスワードが提供されていない、パスワードで暗号化された .pptx ファイル
  • 0 バイト、またはほとんどがゼロとして読み取られるファイル

修復が失敗した場合、その理由(データの欠落か構造の破損か)をお伝えします。失敗した修復に料金が請求されることはありません。

よくある質問

このエラーはプレゼンテーション全体が失われたという意味ですか?

たいていはそうではありません。.pptx は独立した XML パーツとメディアパーツの ZIP です。このエラーは、PowerPoint が読めないパーツ 1 つ — あるいはパーツ間の壊れたリンク 1 つ — に遭遇して停止したことを意味します。パッケージを再構築すれば、まだ無傷のスライド・テキスト・画像は通常復元できます。

なぜ 1 つの壊れたスライドがプレゼンテーション全体を開けなくしたのですか?

スライドが依存関係を共有しているからです。どのスライドも slideLayoutslideMaster から継承しており、それらはすべて関係 ID で結び付けられています。共有された master または layout が壊れていたり、スライドが失われた対象を指していたり(宙ぶらりんの参照)すると、ほとんどのスライドが無事でも PowerPoint はファイル全体を拒否することがあります。正常なパーツを開けるようにするのは、関係グラフの修復です。

PowerPoint が修復を提案しましたが、いくつかのスライドが削除されました。取り戻せますか?

PowerPoint の「Open and Repair」(開いて修復)は読めないパーツを破棄し、「Repaired Records」(修復されたレコード)を報告します — スライドはしばしばそこへ消えていきます。パッケージを直接再構築するほうが外科的です: 壊れたリンクのせいで PowerPoint が削除した無傷のスライドは、捨てられる代わりに参照し直して復元できます。

単に .zip に拡張子を変えてファイルを取り出すだけでもいいですか?

試すことはできます — .pptx を展開すれば ppt/media/ の画像やスライド XML のテキストに到達できます。しかし ZIP インデックスが壊れていると、通常の解凍は失敗します。さらに、きれいに展開できたとしても、壊れた関係が直るわけでも、PowerPoint が開けるパッケージが組み立て直されるわけでもありません。このツールはその両方を行います。

修復のためにプレゼンテーションはアップロードされますか?

いいえ。ファイルはあなたのディスクから読み取られ、ブラウザのタブ内で再構築されます。何も送信されません。端末から 0 バイトしか出ていないことは、ネットワーク(Network)タブで確認できます — 機密のプレゼンテーションにふさわしい性質です。

関連: Excel のブックを修復する · "Excel cannot open the file" · Word: 読み取れないコンテンツ