以下の内容はhttps://iori016.hatenablog.com/entry/2025/12/21/000153より取得しました。


エクセルの内部データから容量確認、画像の差し替え等を行う方法(7zipの紹介)

VBAアドベントカレンダー

これは「Excel Advent Calendar 2025」の21日目の記事です。

Excel-Fun.xls* for Excel Advent Calendar 2025 - Adventar

adventar.org

今回紹介する内容

エクセルファイルの内部データを閲覧して、次のことを確認する方法を紹介します。

  • ファイル容量の内訳を知る方法
  • 画像の差し替え
  • CRCの確認(ファイルの同一の比較)

7zip無しで内部データを確認する方法

今回紹介するのは7zipというソフトを紹介するのですが、その前に7zipを使わない方法を紹介します。

拡張子zipに変更

まず、拡張子を表示する方法です。
適当なフォルダを開いて「表示」→「ファイル名拡張子」のチェックを付けると、エクセルのファイル名に「xlsx」や「xlsm」のような拡張子が表示されます。

拡張子の表示方法
拡張子の表示方法

エクセルファイルを破損させてもいいように念のため、ファイルをコピー取っておいてください。
拡張子が「xlsx」や「xlsm」の場合は、拡張子を「zip」に変更すると、
「拡張子を変更すると、ファイルが使えなくなる可能性があります。変更しますか?」という警告がでるので「はい」を選択します。
(拡張子が「xls」の場合は、この方法は使えないので、予めエクセルで開いて名前を付けて保存で「xlsx 」か「xlsm」に保存しなおしてから 、実行してください)

拡張子の変更

zipファイルを右クリックして「プログラムから開く」→「エクスプローラ」を選択すると、zipファイルの中身をエクスプローラ(フォルダ)で閲覧することができます。

zipフォルダをエクスプローラで開く
zipフォルダをエクスプローラで開く

エクスプローラのデメリット

エクスプーラでzipファイルの中身を閲覧している状態で、詳細ビューの列を右クリックすると「CRC-32」があるので追加することができます。(CRC-32については後で説明します)
エクスプローラの場合次のデメリットがあります。

  1. 拡張子をzipに変更する必要がある
  2. フォルダのサイズが見れない(ファイルのサイズはみれる)
  3. (解凍しても)圧縮時のフォルダの容量が分からない
  4. 解凍してファイルを差し替えた後、zipに再圧縮するときに手順を間違えるとファイルを破損させやすい
  5. 列を設定がフォルダ毎に別々
  6. フォルダのCRC32は見れない(ファイルのCRC32は見れる)

CRCというのは値が同一なら、ファイルが同一であることが確認できます。
フォルダのCRCが同一なら、そのフォルダ内の全てのファイルが同一であることが確認できます。

エクスプローラのデメリット
エクスプローラのデメリット

7zip

そこでおすすめなのが7zipというツールです。7zipのメリットは以下の通りです。

7zipのメリット

  1. 拡張子をzipに変更する必要がなくエクセルファイルのまま中身がみれる
  2. ファイル・フォルダのサイズが見れる
  3. 圧縮時のサイズ(格納サイズ)が見れる
  4. ファイルの差し替えが簡単にできる
  5. 列の設定は全てのフォルダで共通
  6. ファイル・フォルダのCRCが見れる

7zipのインストール

下記リンク先から7zipのインストーラをダウンロードします。
2025年7月に脆弱性の修正版がでているので、7zipを既にインストールしている人も、更新しておきましょう。

www.7-zip.org

2026/1/22追記
7-zip[.]com なる偽物のサイトでダウンロードすると、怪しい挙動をするそうです。
公式のページからダウンロードするようにしてください。

wizsafe.iij.ad.jp

  1. リンクをダウンロード
  2. ダウンロードしたファイルを実行
  3. 「はい」を選択
  4. 「Install」を選択
  5. 「Close」を選択

7zipのインストール
7zipのインストール

これでインストール完了です。

エクセルファイルをコピーして7zipで開く

エクセルファイルを破損させる可能性があるので、なれるまでは、エクセルファイルをあらかじめコピーしておきましょう。
コピーしたエクセルファイルを右クリックして
「その他のオプションを確認」を選択します。(あるいはShift+右クリックを選択します)
右クリックメニューのなかから「7zip」→開く(2つあるうち上の方)
を選択します。

右クリックメニューから7zipを開く
右クリックメニューから7zipを開く
すると、選択したエクセルファイルの中身を閲覧することができます。
ついでに右側にあるCRCを見たい人はドラッグして左側に持っていくと良いでしょう

7zipでエクセルファイルの中身を閲覧
7zipでエクセルファイルの中身を閲覧

xlフォルダを開く

xlフォルダを開いてください。「xl」フォルダがない場合はエクセルファイルの拡張子が「xlsx」か「xlsm」か、
あるいはエクセルファイルにパスワードがかかってないか確認してください(これについては後で詳しく説明します)

xlフォルダを開く
xlフォルダを開く

エクセルファイルの容量の内訳を確認

様々なフォルダが現れますが、以下のような内訳になっています。

フォルダ名 内訳
chart グラフ
drawings 図形
embeddings 埋込オブジェクト
media 画像など
worksheets シートの実データ(文字列を除く)
sharedStrings.xml ワークシート内の文字列
vbaProject.bin VBAのコード

15MBのエクセルの例で見てみます。
サイズだと、zipを解凍したときのサイズになってしまうので、格納サイズを見ましょう。
embeddings(埋め込みオブジェクト)が*6.9MB
worksheets(シート内の文字列を除くデータ)が*5.8MB
sharedStrings.xml(シートの文字列部分)が*2.4MB
6.9+5.8+2.4≒約15MBが大半を占めている事がわかります。
*簡単のため1000x1000 Byte=1 Mbyteとして計算しています
(厳密には1024x1024 Btye=1 Mbyte)

エクセルファイルの容量の内訳を確認する
エクセルファイルの容量の内訳を確認する

Excel内の画像を一覧で確認

それではmediaフォルダを開いてみましょう。
(画像が1枚も挿入されていないエクセルファイルの場合はmedaフォルダがありません)
mediaフォルダの中にはエクセルファイルに挿入されているすべての画像がずらーと並んでいます。
それを全て選択して、エクスプローラーで、デスクトップ等に空のフォルダを作成し、そこに全ての画像ファイルを&ドロップしてみます。

mediaフォルダで画像の一覧を確認する
mediaフォルダで画像の一覧を確認する

空のフォルダに画像ファイルがコピーされるので表示を大アイコンにすると、エクセル内に保存している画像を一括で確認することができます。
7zipでエクセルファイル内の全ての画像を一覧で確認する
7zipでエクセルファイル内の全ての画像を一覧で確認する
これがどういうときに便利かというと、例えば非表示シート等に隠れている画像も一覧で表示される為、
社外に提出するエクセルファイルがある場合、社外秘の画像が含まれていないか確認するときなどに使えます。
また、単純にエクセルファイル内の画像をファイルとして一括で取り出したい場合や、一覧での確認に最適です。

画像ファイルの差し替え

画像の差し替えも可能です。同じ拡張子で、同じファイル名の画像を用意します。
(解像度が違っててもいいですが、エクセルでトリミングしている場合は範囲がずれるかもしれません)

拡張子が異なる画像に差し替えたい場合は別の記事にまとめていますので、そちらをご覧ください。

iori016.hatenablog.com

また、pngの画像をpngのまま一括で圧縮する方法はこちらの記事で紹介していますのでそちらをご覧ください。

iori016.hatenablog.com

例えば、下図では「image2.png」の内容を差し替えたいので、同じ「image2.png」で内容が異なる画像ファイルを用意しています。
画像が用意できたら、それを7zipのmediaフォルダ内にドラッグ&ドロップします。
(必ずエクセルファイルのバックアップを取ってから行ってください)

エクセルファイル内の画像を差し替える
エクセルファイル内の画像を差し替える
上書きしてもいいかの確認画面が現れるので「はい」を選択します。
7zipを一度閉じます(閉じないと、エクセルファイルを開いたときに読み取り専用になります)
確認画面で「はい」を選択して7zipを閉じる
確認画面で「はい」を選択して7zipを閉じる

万が一ファイルが破損していた場合はバックアップからやり直す

正常にファイルが開けるか試してみましょう。
慣れないうちは、操作手順を間違えてしまいファイルを破損してしまうことがありますのでその場合は、
エクセルファイルをバックアップからコピーしなおしてやり直すことをお勧めします。
また破損していなかったとしても、差し替え前と差し替え後で正しく差し替えできているかの目視での確認は必要になりますので、失敗しないとしてもバックアップを取っておくことは大事です。

エクセルファイルが破損していたらバックアップからやり直す
エクセルファイルが破損していたらバックアップからやり直す

エクセルファイルの中身を確認する

画像の差し替えの確認
画像の差し替えの確認

差し替えた画像のCRCを確認する

差し替える前と差し替えた後の画像のCRCを確認すると、差し替えた画像のみ値が異なっていることがわかります。逆にCRCが一致していればそれは同じ画像ということがわかります。
この様に内部データのファイル単位・フォルダ単位でCRCを確認して、同一のファイルか確認することができます。

差し替えた画像のCRCが異なる
差し替えた画像のCRCが異なる

パスワードの種類によっては中身が見れない

エクセルには様々な箇所にパスワードを設定できますが、その中でも、ファイルを開くときにパスワードを入力しないと閲覧できないタイプのものは「暗号化」されており、内部データがzipファイルでもなくなるため、解凍はできなくなります。
パスワードをかける方法は、「ファイル」タブの「情報」の「ブック保護」の中から「パスワードを使用して暗号化」を選択した後、パスワードを2回入力して保存を押します。

エクセルがパスワードで暗号化されている場合
エクセルがパスワードで暗号化されている場合
あるいは、F12を押して名前を付けて保存ダイアログを出して、「ツール」の「全般オプション」で読み取りパスワードを設定します。パスワードをもう一度入力したら保存押して上書き保存します。
F12で名前を付けて保存ダイアログで読み取りパスワードを設定する
F12で名前を付けて保存ダイアログで読み取りパスワードを設定する
これら2つのやり方がありますが、どちらも同じ設定で、ファイルを開くときにパスワードが求められるようになります。
この設定を行うと、内部データが暗号化されるため、zipとして解凍もできなくなります。
かろうじて7zipで内部データらしきものは見れますが、編集もできないですし、「xl」フォルダもないため、内部がどのようになっているか知ることができません。
暗号化されているため内部データがわからない
暗号化されているため内部データがわからない
逆にこれ以外のパスワードの設定は全て、編集などを禁止する為のもので内部データそのものは閲覧できてしまうのでエクセルにパスワードをかける場合は理解して使用してください。
拡張子が「xls」の場合も同じで7zipで開くと「xl」フォルダがないので内部データの閲覧はできません。
xlsを7zipで開いた場合
xlsを7zipで開いた場合




以上の内容はhttps://iori016.hatenablog.com/entry/2025/12/21/000153より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14