動作検証バージョン:64bit Windows 10 Pro + 32bit Word(バージョン2202 ビルド14931.20132 Microsoft Store)
「Word VBA 図形 塗りつぶしなし」
といった検索キーワードでアクセスがありました。
[スポンサードリンク]
図形の塗りつぶしをなしにするサンプルマクロ
アクティブな文書内の1つ目の図形が、四角形や楕円などのときに以下のWordマクロを実行すると、塗りつぶしがなしの状態になります。
Sub 図形の塗りつぶしをなしにする()
ActiveDocument.Shapes(1).Fill.Visible = msoFalse
End Sub
ActiveDocument.Shapes(1).Fill.Visible = msoFalse
End Sub
サンプルマクロで使用しているオブジェクトモデル
上記のサンプルマクロでは、以下のようなオブジェクトモデルを使用しています。
Documentオブジェクト [ActiveDocumentで取得] └ Shapeオブジェクト [.Shape(1)で取得] └ FillFormatオブジェクト [.Fillで取得] └ Visibleプロパティ
Shapeオブジェクトに用意されているFillプロパティで、塗りつぶし書式を表すFillFormatオブジェクトを取得し、
FillFormatオブジェクトのVisbleプロパティにmsoFalseを設定しています。
VBAを使ったMicrosoft Officeの図形関連操作に慣れていない方の場合、ShapeオブジェクトのFillプロパティで取得できるのが、FillFormatオブジェクトである点に注意が必要です。
Shape取得後はExcel VBAと同じ
拙著『理解するExcel VBA/図形操作の基本』の、「3-2. FillFormatは塗りつぶし書式を表す」では、以下のようなオブジェクトモデルを使ったコードを解説しています。
Worksheetオブジェクト └ Shapeオブジェクト └ FillFormatオブジェクト └ Visibleプロパティ
最初に取得するオブジェクトが、Word.DocumentとExcel.Worksheetの違いはありますが、Shapeオブジェクト以下は同じです。
最終更新日時:2022-03-18 12:55
[スポンサードリンク]
Home » ワードマクロ・Word VBAの使い方 » Shape・図形 » Word VBAで図形の塗りつぶしをなしに