ShapeオブジェクトからPictureFormatオブジェクトを取得し、ColorTypeプロパティを変更することで図形内の画像を白黒やグレーに変換することができます(公式)。
PictureFormatオブジェクト
PictureFormatオブジェクトの取得
Shapeオブジェクト.PictureFormat
Shapeオブジェクト.PictureFormat
Shapeオブジェクトの後にPictureFormatプロパティをくっつけると、PictureFormatオブジェクトという対象を選択したことになります。
ColorTypeプロパティは「PictureFormatオブジェクトのプロパティ」なので、使用するには先にオブジェクトを取得する必要があります。そういう文法がある、というだけの話です。
ColorTypeプロパティは「PictureFormatオブジェクトのプロパティ」なので、使用するには先にオブジェクトを取得する必要があります。そういう文法がある、というだけの話です。
ColorTypeプロパティ
図形内の画像にイメージコントロールをかける
PictureFormatオブジェクト.ColorType = 値
※値は数値またはMsoPictureColorType列挙型定数で指定
PictureFormatオブジェクト.ColorType = 値
※値は数値またはMsoPictureColorType列挙型定数で指定
元の画像はこちら。
' vba
'規定の色。ColorType = msoPictureAutomaticでも同じ意味
ActiveSheet.Shapes(1).PictureFormat.ColorType = 1
PictureFormatオブジェクトのColorTypeプロパティに既定の値を入れることで、画像を白黒にするなどのイメージコントロールが行えます。
値が1またはmsoPictureAutomaticの場合は、元々の色が適用されます。
値が1またはmsoPictureAutomaticの場合は、元々の色が適用されます。
値が2またはmsoPictureGrayscaleの場合、画像はグレースケールに変換されます。
値が3またはmsoPictureBlackAndWhiteの場合、画像は白黒に変換されます。
値が4またはmsoPictureWatermarkの場合、画像は透かしに変換されます。
関連記事
通常操作で図形に画像を表示する方法です。
VBAを使って図形に画像を表示する方法です。
同じPictureFormatオブジェクトのBrightnessプロパティでは、画像の明るさを変更することができます。
Excel(エクセル):図形
Excelでは、図形という機能を使うことで四角形や丸、矢印などのオブジェクトをシート状に配置することができます。セルの形状を無視して配置できるので、フローチャートや装飾、注釈などアイデア次第でさまざまな用途に利用できます。
図形作成・操作...
関数・演算子・メソッド・プロパティ名から探すExcel/VBA(マクロ)使い方・組み合わせ方まとめ
こちらはExcelやメソッドの諸機能を、機能の名称から探せるまとめ記事です。
コメント