動作検証バージョン:64bit Windows 10 Pro + 32bit Word(バージョン2206 ビルド15330.20246 Microsoft Store)
「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
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プロパティで取得した、
For Each shp In ActiveDocument.Bookmarks("\Page").Range.ShapeRange
アクティブなページを表す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プロパティを確認して、
画像だったときに、
If shp.Type = msoPicture Then
WrapFormatオブジェクトのTypeプロパティに、
WdWrapType列挙型に定義されている定数wdWrapBehindを指定することで、
文字列の折り返しを背面に設定しています。
shp.WrapFormat.Type = wdWrapBehind
最終更新日時:2022-07-27 11:50
[スポンサードリンク]
- Newer:TopLeftCell.Offset(0, 1)とは
- Older:Excelで倍数判定を行うには-MOD関数
Home » ワードマクロ・Word VBAの使い方 » Shape・図形 » Word VBAで画像を背面に