【VBA】テクスチャ効果(図形塗りつぶし)を使用する

これで楽に!?VBA活用

こんにちは、Ryoです。
視覚的に表現する際に図形の塗りつぶしを行うことは多々ありますが、用途によってはテクスチャを設定したいこともあるかと思います。その場合はPresetTexturedメソッドを利用することで対応できますので、今回はその内容について書いていきます。

スポンサーリンク

1.サンプル概要

Sheet1上に準備した図形に対し、PresetTexturedメソッドを利用してテクスチャ設定を行います。

下の画像は「紙袋のテクスチャ」を設定したものです。

このようにPresetTexturedメソッドに定数を指定することでテクスチャ設定を行うことができます。

2.サンプルコード

Sub Sample1()

 '図に「紙袋のテクスチャ」を設定する
 Worksheets("Sheet1").Shapes(1).Fill _
 .PresetTextured msoTexturePaperBag

End Sub

構文:PresetTextured(PresetTexture)

サンプルコードではシート上の図形に対して「紙袋のテクスチャ」を設定していますが、その他の指定する値は以下の通りです。

定数内容テクスチャー
msoTextureDenim3デニムテクスチャ 
msoTextureBouquet20ブーケテクスチャ 
msoTextureBrownMarble11茶色の大理石のテクスチャ 
msoTextureBlueTissuePaper17青いティッシュペーパーテクスチャ 
msoTextureCanvas2キャンバス テクスチャ 
msoTextureCork21コルクテクスチャ 
msoTextureFishFossil7魚の化石テクスチャ 
msoTextureGranite12花崗岩テクスチャ 
msoTextureGreenMarble9緑の大理石のテクスチャ 
msoTextureMediumWood24中程度の木材テクスチャ 
msoTextureNewsprint13Newsprint テクスチャ 
msoTextureOak23オークのテクスチャ 
msoTexturePaperBag6紙袋のテクスチャ 
msoTexturePapyrus1パピルス テクスチャ 
msoTextureParchment15羊皮紙テクスチャ 
msoTexturePinkTissuePaper18ピンクのティッシュペーパーテクスチャ 
msoTexturePurpleMesh19紫色のメッシュ テクスチャ 
msoTextureRecycledPaper14リサイクルされた紙のテクスチャ 
msoTextureSand8砂のテクスチャ 
msoTextureStationery16文房具テクスチャ 
msoTextureWalnut22クルミのテクスチャ 
msoTextureWaterDroplets5水滴テクスチャ 
msoTextureWhiteMarble10白い大理石のテクスチャ 
msoTextureWovenMat4編まれたマットのテクスチャ 

指定する場合は.PresetTextured msoTexturePaperBagの形で指定する、または数値での指定でもOKなので.PresetTextured 6 でも同じ結果になります。

◆参考:オリジナルの図をテクスチャとして設定したい場合

定数以外でも画像ファイルを指定して設定することでオリジナルのテクスチャを設定することが可能です。

下のサンプルコードは実行ファイルと同じ場所に保存された画像ファイルをテクスチャとして設定するものです。

Sub Sample2()

 Worksheets("Sheet1").Shapes(1).Fill _
 .UserTextured ThisWorkbook.Path & "\usertextured_smp.jpg"

End Sub

画像の通り、定数以外でも画像ファイルを指定してオリジナルテクスチャとすることができます。

3.まとめ

画像にテクスチャ設定するようなケースでは、定数から選択するよりも自身の画像ファイルなどから設定したいことが多そうな気がします。



その場合はUserTexturedメソッドを利用することで可能となりますので、機会があればぜひご活用くださいませ。

以上、テクスチャ効果(図形塗りつぶし)を使用する方法についてでした!今回の記事が何かの参考になれば幸いです。

Ryo

タイトルとURLをコピーしました