【VBA】画像の幅と高さを取得する

VBA
この記事は約2分で読めます。

Microsoft Windows Image Acquisition (WIA) Automation Layerは画像を操作するライブラリです。
VBAの参照設定を行うことでPNG画像やJPG画像の情報を取得することができます。

Microsoft Windows Image Acquisition Automation Layerの目的(Purpose)の部分を参照してみると
画像の処理用ライブラリであることが書かれてます。

The Windows Image Acquisition (WIA) Automation Layer is a full-featured image manipulation component that provides end-to-end image processing capabilities

Windows Image Acquisition (WIA) Automation Layerは、エンドツーエンドの画像処理機能を提供する
フル機能の画像処理コンポーネントです。

 

画像情報取得する

C:\wiatestフォルダ内にpngとjpgの画像を置きました。

  • 幅100x高さ150のpng画像
  • 幅200x高さ250のjpg画像

Windows Image Acquisition Automationの機能を使用するには参照設定が必要です。
Microsoft Windows Image Acquisition Libraryにチェックをつけます。

ImageFileオブジェクトを使用して画像を取り込み、PNG画像とJPG画像の幅と高さをそれぞれ取得して
イミディエイトウィンドウに表示します。

イミディエイトウィンドウにPNG画像とJPG画像の幅と高さが出力されます。

 

画像の幅と高さをシートに記入する

Sheet1シートのA列2行以降に画像パスを記入しました。
この画像パスを元に画像の幅と高さを取得し、B列に画像の幅、C列に画像の高さを記入してみます。

GetPictureInfoを呼び出してシートに画像の幅と高さを記入してみます。

それぞれの画像の幅と高さがB列とC列に記入されました。

コメント