Home » ワードマクロ・Word VBAの使い方 » Shape・図形 » Word VBAで画像を背面に

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

画像の文字列の折り返しを背面にするSubプロシージャ

「word 画像 背面 マクロ」
という検索キーワードでアクセスがありました。

Word VBAを使って、画像の文字列の折り返しを背面に設定するには、どのようなコードを書けばいいのかを探していらしたのでしょうか。

画像の文字列の折り返しを背面にするサンプルマクロ

以下のWordマクロを実行すると、アクティブなページ上に存在する画像の、文字列の折り返しが背面に設定されます。

Sub 画像の文字列の折り返しを背面にする()
 Dim shp As Shape
 For Each shp In ActiveDocument.Bookmarks("\Page").Range.ShapeRange
  If shp.Type = msoPicture Then
   shp.WrapFormat.Type = wdWrapBehind
  End If
 Next
End Sub

サンプルマクロで行っている処理

上記のWordマクロで行っている処理は、以下のとおりです。

拙著『Excel VBAユーザーのためのWord VBA入門(1)』の「8-1. アクティブページを表すRangeを取得する」でも解説している、Bookmarkオブジェクトに用意されているRangeプロパティで取得した、

Word.Bookmark.Range

For Each shp In ActiveDocument.Bookmarks("\Page").Range.ShapeRange

アクティブなページを表すRangeオブジェクトのShapeRangeプロパティを使って取得できる、

Word.Range.ShapeRange

For Each shp In ActiveDocument.Bookmarks("\Page").Range.ShapeRange

アクティブページ上に存在する全ShapeをFor Each~Nextループを使って順番に処理をします。

Dim shp As Shape
For Each shp In ActiveDocument.Bookmarks("\Page").Range.ShapeRange

For Each~Nextループで取得したShapeのTypeプロパティを確認して、

Word.Shape.Type

画像だったときに、

 If shp.Type = msoPicture Then

WrapFormatオブジェクトのTypeプロパティに、

Word.WrapFormat.Type

WdWrapType列挙型に定義されている定数wdWrapBehindを指定することで、

Word.WrapFormat.Type

文字列の折り返しを背面に設定しています。

  shp.WrapFormat.Type = wdWrapBehind

最終更新日時:2022-07-27 11:50

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » Shape・図形 » Word VBAで画像を背面に

「Shape・図形」の記事一覧

検索


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

.