Excel、Word、PowerPoint ファイル内の画像を取得・抽出する方法

Excel、Word、PowerPoint で作られたファイルから、貼り付けた画像だけを取り出したい場面は多い。元画像を再利用したい、資料の素材だけまとめて回収したい、編集前の画像を確認したい、といったケースで役立つ。

結論から言うと、.xlsx .docx .pptx 形式のファイルは ZIP アーカイブ形式の Open XML パッケージであるため、拡張子を変えて展開すれば画像を取り出せることが多い。Officeアプリを開かなくても確認できる。

PR

まず結論:画像の保存場所

Office の新しい形式では、画像などのメディアファイルは次のフォルダに入っていることが多い。

ファイル形式画像が入っている主な場所
Excel (.xlsx)xl\media\
Word (.docx)word\media\
PowerPoint (.pptx)ppt\media\

そのため、基本的な流れは次のとおりである。

  1. Officeファイルをコピーする
  2. 拡張子を .zip に変更する
  3. ZIPとして展開する
  4. media フォルダを開く
  5. 必要な画像ファイルを取り出す
PR

この方法が使えるファイル形式

この方法は、主に以下のOffice Open XML形式で使える。

  • .xlsx
  • .docx
  • .pptx

一方で、次のような古いバイナリ形式はこの方法では扱えない。

  • .xls
  • .doc
  • .ppt

古い形式のファイルしかない場合は、いったん Office で開いて .xlsx .docx .pptx に保存し直してから 作業するのが確実である。

PR

エクスプローラーで画像を取り出す手順

Windows のエクスプローラーだけでも取得できる。

1. 元ファイルをコピーする

いきなり元ファイルを触るのではなく、まずコピーを作る。作業ミスを避けやすい。

ファイルを選択して「コピー」→「貼り付け」とすると同じフォルダにコピーファイルが作成される。

例: sample.xlsx をコピーして sample - コピー.xlsx を作る

Excel、Word、PowerPoint ファイル内の画像を取得・抽出する方法
ファイルを選択して「コピー」→「貼り付け」とすると同じフォルダにコピーファイルが作成される。

例: sample.xlsx をコピーして sample - コピー.xlsx を作る

2. 拡張子を .zip に変更する

コピーしたファイルの拡張子を変更する。

例:

  • sample - コピー.xlsx → sample - コピー.zip

拡張子が表示されていない場合は、先にファイル名拡張子を表示する

拡張子が表示されている場合は、「.zip」に変更する(例:「.xlsx」→「.zip」)。確認画面が表示されるので「はい」クリック

Excel、Word、PowerPoint ファイル内の画像を取得・抽出する方法
拡張子が表示されている場合は、「.zip」に変更する(例:「.xlsx」→「.zip」)。確認画面が表示されるので「はい」クリック

圧縮ファイル「zip」のアイコンに変更される

Excel、Word、PowerPoint ファイル内の画像を取得・抽出する方法
圧縮ファイル「zip」のアイコンに変更される

拡張子が表示されていない場合の操作

拡張子が見えない状態では、エクスプローラー上で正しく変更しにくい。そのため、まず拡張子を表示してから作業する。

Windows 11 では、エクスプローラー上部の「表示」→「表示」→「ファイル名拡張子」をオンにする。Windows 10 でも、エクスプローラーの「表示」タブから「ファイル名拡張子」にチェックを入れる。

Excel、Word、PowerPoint ファイル内の画像を取得・抽出する方法

たとえば sample.xlsx の拡張子が表示されるようになったら、sample.zip に変更する。

3. ZIPファイルとして展開する

sample - コピー.zip を右クリックし、展開する。展開先はデスクトップでも任意のフォルダでもよい。

sample - コピー.zip を右クリックし、「すべて展開」クリック

Excel、Word、PowerPoint ファイル内の画像を取得・抽出する方法
sample - コピー.zip を右クリックし、「すべて展開」クリック

必要なら任意のフォルダに変更し、「展開」クリック

Excel、Word、PowerPoint ファイル内の画像を取得・抽出する方法
必要なら任意のフォルダに変更し、「展開」クリック

4. media フォルダを開く

展開後、ファイル形式に応じて次のフォルダを開く。

  • Excel: xl/media
  • Word: word/media
  • PowerPoint: ppt/media
Excel、Word、PowerPoint ファイル内の画像を取得・抽出する方法
展開後、ファイル形式に応じて次のフォルダを開く。

5. 画像を取り出す

media フォルダの中に、image1.png image2.jpeg のようなファイルが並んでいる。必要な画像を別フォルダへコピーすればよい。

なお、PowerPoint では画像以外の音声・動画が ppt/media に入る場合もある。画像だけ欲しい場合は、拡張子を見ながら取り出すとよい。

PowerShellでまとめて取り出す方法

手作業を減らしたいなら、PowerShell を使うと早い。以下は、1つの Office ファイルから画像ファイルだけを抽出する例である。

$src = "C:\work\sample.pptx"
$zip = "C:\work\sample.zip"
$expanded = "C:\work\sample_extracted"
$out = "C:\work\sample_images"

Copy-Item -LiteralPath $src -Destination $zip
Expand-Archive -LiteralPath $zip -DestinationPath $expanded -Force
New-Item -ItemType Directory -Path $out -Force | Out-Null

Get-ChildItem -LiteralPath $expanded -Recurse -File |
  Where-Object {
    $_.DirectoryName -match '\\(xl|word|ppt)\\media$' -and
    $_.Extension -match '^\\.(png|jpe?g|gif|bmp|emf|wmf|svg|tiff?)$'
  } |
  Copy-Item -Destination $out -Force

このスクリプトで行っていることは単純である。

  1. 元ファイルを ZIP としてコピーする
  2. 展開する
  3. media フォルダ配下から画像ファイルだけを抽出先へコピーする

PowerPoint だけでなく、$src を .xlsx や .docx に変えても同じ考え方で使える。

取り出した画像の形式

取得できる画像形式は、元ファイルに埋め込まれていた形式に依存する。よくあるのは次の形式である。

  • .png
  • .jpg / .jpeg
  • .gif
  • .bmp
  • .emf
  • .wmf
  • .svg
  • .tif / .tiff

そのため、「Word に貼ってあった画像を全部 PNG で取り出せる」とは限らない。埋め込まれた形式のまま保存されていることが多い。

画像を取り出せない場合の注意点

期待どおりに取得できない場合は、次の点を確認したい。

古い Office 形式を使っている

doc xls ppt は ZIP 展開できない。新しい形式へ保存し直す必要がある。

画像が埋め込みではなくリンク参照

貼り付けたように見えても、実際には外部ファイルへのリンクになっている場合がある。この場合、Officeファイルの中に画像本体が入っていないことがある。

Office側で加工・圧縮されている

画像を圧縮して保存している場合や、「切り抜いた領域の削除」まで実行している場合は、元画像と完全に同じ状態では取り出せないことがある。特に PowerPoint は圧縮設定の影響を受けやすい。

一方で、単なるトリミングだけなら、切り抜いた部分がファイル内に残っていることもある。そのため、「見た目上は切り抜かれているが、取り出すと元画像に近い状態で残っている」ケースもある。

トリミングされた状態の画像が欲しい場合は、Excel等を開いて、「画像の圧縮」で「図のトリミング部分を削除する」をチェックして画像を圧縮すると、Excel等で表示された状態と同じ画像が取得できる。

Excel、Word、PowerPoint ファイル内の画像を取得・抽出する方法

パスワード保護されている

暗号化されたファイルは、そのままでは通常の ZIP として中身を確認できないことがある。保護を解除できる権限がある場合のみ作業する。

どの方法を使うべきか

状況ごとの使い分けは次のようになる。

状況向いている方法
画像を1枚だけ保存したいOffice上で右クリック保存
画像をまとめて取り出したい拡張子を .zip に変更して展開
複数ファイルを繰り返し処理したいPowerShell で自動化

特に、元ファイルに大量の画像が入っている場合は ZIP 展開が最も手早い。Word や PowerPoint を1枚ずつ開いて保存するより効率がよい。

まとめ

Excel、Word、PowerPoint の .xlsx .docx .pptx は、ZIP アーカイブ形式の Open XML パッケージである。そのため、拡張子を .zip に変えて中身を開けば、画像は次の場所から取り出せる。

  • Excel: xl/media
  • Word: word/media
  • PowerPoint: ppt/media

PowerPoint では ppt/media に音声や動画が含まれることもあるため、画像だけ必要なら拡張子で絞るとよい。単発ならエクスプローラーで十分だが、何度も行うなら PowerShell で自動化すると効率がよい。まずはコピーしたファイルで試し、元ファイルを直接編集しない運用にしておくと安全である。

\ITメモが役に立ったら/

ITメモをサポートする!
Office
PR

コメント

タイトルとURLをコピーしました