• ベストアンサー

VBAで画像圧縮はできますか?

VBAを使って、 bmp画像ファイルをJPEGやTIFFファイルに圧縮したいのですが 可能でしょうか? よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.1

可能です。 画像圧縮、変換用のライブラリなんか使えば簡単です。 Google 検索 - 「画像 dll vba jpg bmp」 https://www.google.co.jp/#q=%E7%94%BB%E5%83%8F+dll++vba%E3%80%80jpg+bmp そういう物を使わずに、自力で実装する事も絶対に出来ないとかって理由は無いです。

その他の回答 (2)

回答No.3

画像を圧縮するのではなく、スリムにするという考えはどうでしょうか。 圧縮の目的が、メール送信可能なサイズまで小さくするということであり、 画像の鮮明度(くっきり度)を必要としないものであれば、スリム化する事をお勧めします。 その手法は、次の通りです。 (1)ExcelのSheetsに画像ファイルを貼り付けます。 (2)その画像を切り取り→貼り付け位置を選択→形式を選択して貼り付け→図(JPEG) にて貼り付けます。 この段階で画像は60%程度にスリムなっています。 (3)このExcelを、名前を付けて保存→Webページ形式で保存します。 (4)すると、保存したファイルは、html形式で保存され、 貼付した画像は保存したファイルと同じフォルダに、[保存したファイルと同じ名前.files]というフォルダが作成され、 その中に貼り付けた画像がスリム化された状態で(ファイルとして)保存されます。 この段階の画像ファイルは95%以上スリムになっています。 (5)html形式のファイルの処理や[保存したファイルと同じ名前.files]の名前の変更等の処理をします。 これをマクロで記述すればスリム化された画像ファイルを手に入れる事が出来ます。 スリム化の意味 板(画像)に沢山の穴を開けるという意味ですが、 遠目には元の形に見えるということです。 穴開板ですから、鮮明度(くっきり度)が低下します。 ことさらに鮮明度(くっきり度)が不要な画像には最適です。 95%以上穴を開けても、見た目は元のものとあまり変わり映えしません。

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.2

こちらに最近のWindowsなら標準で持っているGDI+を用いた事例を回答しています。 JPEGからのリサイズ、圧縮で回答していますが、読込はBMP,TIFF等にも対応しています。 文字数の制限値が低かった頃の回答なのでごちゃごちゃしておりますが。 http://okwave.jp/qa/q5647625.html JPEG以外で書き出したい場合は、下記をご参考になさって下さい。 http://okwave.jp/qa/q5124395.html Officeのグラフィックフィルターを用いる方法もありますが、圧縮率はレジストリの設定を操作する必要があります。

関連するQ&A