こんにちは、Ryoです。
視覚的に表現する際に図形の塗りつぶしを行うことは多々ありますが、用途によってはテクスチャを設定したいこともあるかと思います。その場合はPresetTexturedメソッドを利用することで対応できますので、今回はその内容について書いていきます。
1.サンプル概要
Sheet1上に準備した図形に対し、PresetTexturedメソッドを利用してテクスチャ設定を行います。
下の画像は「紙袋のテクスチャ」を設定したものです。

このようにPresetTexturedメソッドに定数を指定することでテクスチャ設定を行うことができます。
2.サンプルコード
Sub Sample1()
'図に「紙袋のテクスチャ」を設定する
Worksheets("Sheet1").Shapes(1).Fill _
.PresetTextured msoTexturePaperBag
End Sub
構文:PresetTextured(PresetTexture)
サンプルコードではシート上の図形に対して「紙袋のテクスチャ」を設定していますが、その他の指定する値は以下の通りです。
| 定数 | 値 | 内容 | テクスチャー |
| msoTextureDenim | 3 | デニムテクスチャ | ![]() |
| msoTextureBouquet | 20 | ブーケテクスチャ | ![]() |
| msoTextureBrownMarble | 11 | 茶色の大理石のテクスチャ | ![]() |
| msoTextureBlueTissuePaper | 17 | 青いティッシュペーパーテクスチャ | ![]() |
| msoTextureCanvas | 2 | キャンバス テクスチャ | ![]() |
| msoTextureCork | 21 | コルクテクスチャ | ![]() |
| msoTextureFishFossil | 7 | 魚の化石テクスチャ | ![]() |
| msoTextureGranite | 12 | 花崗岩テクスチャ | ![]() |
| msoTextureGreenMarble | 9 | 緑の大理石のテクスチャ | ![]() |
| msoTextureMediumWood | 24 | 中程度の木材テクスチャ | ![]() |
| msoTextureNewsprint | 13 | Newsprint テクスチャ | ![]() |
| msoTextureOak | 23 | オークのテクスチャ | ![]() |
| msoTexturePaperBag | 6 | 紙袋のテクスチャ | ![]() |
| msoTexturePapyrus | 1 | パピルス テクスチャ | ![]() |
| msoTextureParchment | 15 | 羊皮紙テクスチャ | ![]() |
| msoTexturePinkTissuePaper | 18 | ピンクのティッシュペーパーテクスチャ | ![]() |
| msoTexturePurpleMesh | 19 | 紫色のメッシュ テクスチャ | ![]() |
| msoTextureRecycledPaper | 14 | リサイクルされた紙のテクスチャ | ![]() |
| msoTextureSand | 8 | 砂のテクスチャ | ![]() |
| msoTextureStationery | 16 | 文房具テクスチャ | ![]() |
| msoTextureWalnut | 22 | クルミのテクスチャ | ![]() |
| msoTextureWaterDroplets | 5 | 水滴テクスチャ | ![]() |
| msoTextureWhiteMarble | 10 | 白い大理石のテクスチャ | ![]() |
| msoTextureWovenMat | 4 | 編まれたマットのテクスチャ | ![]() |
指定する場合は.PresetTextured msoTexturePaperBagの形で指定する、または数値での指定でもOKなので.PresetTextured 6 でも同じ結果になります。
◆参考:オリジナルの図をテクスチャとして設定したい場合
定数以外でも画像ファイルを指定して設定することでオリジナルのテクスチャを設定することが可能です。
下のサンプルコードは実行ファイルと同じ場所に保存された画像ファイルをテクスチャとして設定するものです。
Sub Sample2()
Worksheets("Sheet1").Shapes(1).Fill _
.UserTextured ThisWorkbook.Path & "\usertextured_smp.jpg"
End Sub
画像の通り、定数以外でも画像ファイルを指定してオリジナルテクスチャとすることができます。

3.まとめ
画像にテクスチャ設定するようなケースでは、定数から選択するよりも自身の画像ファイルなどから設定したいことが多そうな気がします。
その場合はUserTexturedメソッドを利用することで可能となりますので、機会があればぜひご活用くださいませ。
以上、テクスチャ効果(図形塗りつぶし)を使用する方法についてでした!今回の記事が何かの参考になれば幸いです。
Ryo

























