Excelファイルから画像を取り出す†
Excelファイルにある図を、なるべく元のクオリティで画像として取り出す方法です
Excel 97-2003 ブック (*.xls) の場合†
Office2007・2010†
- 全ての図のサイズを100%にします
- 手動で行う場合
- 図を右クリック→[サイズとプロパティ]
- 「サイズとプロパティ」ウインドウの[サイズ]タブの[拡大/縮小]欄の高さを100%・幅を100%にする
- マクロで行う場合
- 以下のマクロを使うと、アクティブファイル(ブック)内にある図のサイズを全て100%にします
Excelマクロ/アクティブファイルすべての図を元のサイズに戻す
- ファイルの種類を「Excel ブック (*.xlsx)」形式で保存します
- ファイルの拡張子を「.zip」にして、zipファイルとして解凍します
- 解凍された中に「xl\media」というフォルダがあり、その中に画像があります
OfficeXP・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上で図のサイズを変更をしても、元のクオリティの画像を内部に保持している
- 図のサイズが100%ではない状態で図の圧縮や、xlsからxlsxに変換を行うと、現在のサイズに基づいて内部に保持してしまい、画像のクオリティが変わってしまう
- xls又はxlsxからhtmlに変換をすると、図のサイズに影響して生成される画像のクオリティが変わる
図のサイズが100%であったとしても元の画像と微妙に違うクオリティの画像が作成されるため、厳密に言うとこの方法では元のクオリティを再現出来ていない
さらにこの方法だと、htmlで表示するために作成された縮小画像も一緒の場所に保存されるため、分類が面倒になる
- 画像を図として貼り付け、そのままxlsx形式で保存をしても、画像によっては図のサイズが100%にならない場合がある
※BMP画像を張り付けた場合この現象が出る模様、jpgの場合は出ない