Home » ワードマクロ・Word VBAの使い方 » Shape・図形 » Word VBAで図形の塗りつぶしをなしに

Word VBAで図形の塗りつぶしをなしに

動作検証バージョン:64bit Windows 10 Pro + 32bit Word(バージョン2202 ビルド14931.20132 Microsoft Store)

「Word VBA 図形 塗りつぶしなし」
といった検索キーワードでアクセスがありました。

[スポンサードリンク]

図形の塗りつぶしをなしにするサンプルマクロ

アクティブな文書内の1つ目の図形が、四角形や楕円などのときに以下のWordマクロを実行すると、塗りつぶしがなしの状態になります。

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で図形の塗りつぶしをなしに

「Shape・図形」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.