Excelの図をクオリティ落とさず画像として取り出す†
Excelファイルにある図を、なるべくクオリティを落とさずに画像として取り出す方法です
Excel 97-2003 ブック (*.xls) の場合†
Excel2007・2010†
- 全ての図のサイズを100%にします
- 手動で行う場合
- 図を右クリック→[サイズとプロパティ]
- 「サイズとプロパティ」ウインドウの[サイズ]タブの[拡大/縮小]欄の高さを100%・幅を100%にする
- マクロで行う場合
- 以下のマクロを使うと、アクティブファイル(ブック)内にある図のサイズを全て100%にします
Excelマクロ/アクティブファイルすべての図を元のサイズに戻す
- ファイルの種類を「Excel ブック (*.xlsx)」形式で保存します
- ファイルの拡張子を「.zip」にして、zipファイルとして解凍します
- 解凍された中に「xl\media」というフォルダがあり、その中に画像があります
Excel2002(XP)・2003†
- Excelファイルの保存で「Excel 2007 ブック (*.xlsx)」を選べるか確認します
選べない場合は以下のWebページから「Microsoft Office 互換機能パック」をダウンロードしてインストールします。
ダウンロードの詳細 : Word/Excel/PowerPoint 用 Microsoft Office 互換機能パック
※これをインストールすると、Excel2002・2003からxlsxファイルを読み込み・保存ができるようになります。
- すべての図のサイズを100%にします
- ファイルの種類を「Excel 2007 ブック (*.xlsx)」で保存します
- ファイルの拡張子を「.zip」にして、zipファイルとして解凍します
- 解凍された中に「xl\media」というフォルダがあり、その中に画像があります
Excel 2007-2010 ブック (*.xlsx) の場合†
- ファイルの拡張子を「.zip」にして、zipファイルとして解凍します
- 解凍された中に「xl\media」というフォルダがあり、その中に画像があります
調べた事†
上記の結論を出すのに調べた内容を書いておきます。
- 基本情報
- xlsxは拡張子を「zip」にすれば、zipファイルとして解凍でき、内部に保持している画像を取り出す事が出来る
- Excel上で図のサイズを変更をしても、元の大きさの画像を内部に保持している
- 画像を図として貼り付け、そのままxlsxで保存した場合に、図のサイズが100%にならない場合がある(BMP画像を張り付けた場合この現象が出る模様、jpgの場合は出ない)
この現象はxlsxのみで、xlsでは起きない
- 行ってはいけない事
- 図の圧縮を行ってはいけない
現在のサイズに基づいた大きさで内部にjpgとして保持してしまう
- 図のサイズが100%ではない状態でxlsからxlsxに変換をしてはいけない
現在のサイズに基づいた大きさで内部に保持してしまう
- xls又はxlsxからhtmlに変換してはいけない
現在のサイズに基づいた大きさで画像が生成されるが、図のサイズが100%であったとしても、元の画像と微妙に違う大きさの画像が作成されるため、厳密には元のクオリティを再現出来ていない
htmlで表示するために作成された縮小画像も一緒の場所に保存されるため、分類が必要