Excel VBA(マクロ)で図形の画像を白黒・グレー変換する方法/PictureFormat.ColorTypeプロパティの使い方

pencils IT

ShapeオブジェクトからPictureFormatオブジェクトを取得し、ColorTypeプロパティを変更することで図形内の画像を白黒やグレーに変換することができます(公式)。

スポンサーリンク

PictureFormatオブジェクト

PictureFormatオブジェクトの取得
Shapeオブジェクト.PictureFormat
vba pictureformat2
Shapeオブジェクトの後にPictureFormatプロパティをくっつけると、PictureFormatオブジェクトという対象を選択したことになります。
ColorTypeプロパティは「PictureFormatオブジェクトのプロパティ」なので、使用するには先にオブジェクトを取得する必要があります。そういう文法がある、というだけの話です。

ColorTypeプロパティ

図形内の画像にイメージコントロールをかける
PictureFormatオブジェクト.ColorType = 値
※値は数値またはMsoPictureColorType列挙型定数で指定
vba pictureformat1
元の画像はこちら。
' vba
'規定の色。ColorType = msoPictureAutomaticでも同じ意味
ActiveSheet.Shapes(1).PictureFormat.ColorType = 1
PictureFormatオブジェクトのColorTypeプロパティに既定の値を入れることで、画像を白黒にするなどのイメージコントロールが行えます。
値が1またはmsoPictureAutomaticの場合は、元々の色が適用されます。
vba pictureformat4
値が2またはmsoPictureGrayscaleの場合、画像はグレースケールに変換されます。
vba pictureformat3
値が3またはmsoPictureBlackAndWhiteの場合、画像は白黒に変換されます。
vba pictureformat5
値が4またはmsoPictureWatermarkの場合、画像は透かしに変換されます。

関連記事

Excel(エクセル):図形
Excelでは、図形という機能を使うことで四角形や丸、矢印などのオブジェクトをシート状に配置することができます。セルの形状を無視して配置できるので、フローチャートや装飾、注釈などアイデア次第でさまざまな用途に利用できます。 図形作成・操作...
関数・演算子・メソッド・プロパティ名から探すExcel/VBA(マクロ)使い方・組み合わせ方まとめ
こちらはExcelやメソッドの諸機能を、機能の名称から探せるまとめ記事です。

コメント