対象:Word2007, Word2010, Word2013
「vba ワード マクロ 文字列の折り返し」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。
Word文書に浮動オブジェクトの画像・図を入れるような場合、本文の文字列と、画像・図の位置関係をどうするかを指定する[文字列の折り返し]は、とても重要です。
「vba ワード マクロ 文字列の折り返し」という検索キーワードは、この[文字列の折り返し]の設定を、VBA(Visual Basic for Applications)で行うにはどうすればいいのかを探している方によるものでしょう。
たくさんの浮動オブジェクトの文字列の折り返しを変更しようとすると、かなり面倒ですから、マクロで処理してしまいたいという要望は、とても共感できます。
[スポンサードリンク]
アクティブ文書の全浮動オブジェクトの折り返しを四角に変更するサンプル
以下のようなWordマクロで、アクティブな文書の全Shapeの文字列の折り返しを「四角」に変更することができます。
Sub 文字列の折り返しを四角に()
Dim shp As Shape
For Each shp In ActiveDocument.Shapes
shp.WrapFormat.Type = wdWrapSquare
Next
End Sub
Dim shp As Shape
For Each shp In ActiveDocument.Shapes
shp.WrapFormat.Type = wdWrapSquare
Next
End Sub
アクティブ文書のすべてのShapeに対してFor Each~Nextループを回して、
For Each shp In ActiveDocument.Shapes
順番にWrapFormatオブジェクトのTypeを変更しています。
shp.WrapFormat.Type = wdWrapSquare
アクティブページの全浮動オブジェクトの折り返しを四角に変更するサンプル
以下のようなマクロにすれば、アクティブなページの全Shapeの文字列の折り返しを「四角」に変更することができます。
Sub 文字列の折り返しを四角に_アクティブページ()
Dim shp As Shape
For Each shp In ActiveDocument.Bookmarks("\Page").Range.ShapeRange
shp.WrapFormat.Type = wdWrapSquare
Next
End Sub
Dim shp As Shape
For Each shp In ActiveDocument.Bookmarks("\Page").Range.ShapeRange
shp.WrapFormat.Type = wdWrapSquare
Next
End Sub
先ほどのアクティブ文書を対象にしたマクロで
For Each shp In ActiveDocument.Shapes
となっていた部分が、
For Each shp In ActiveDocument.Bookmarks("\Page").Range.ShapeRange
となっていることだけが異なります。
最終更新日時:2022-07-22 17:56
[スポンサードリンク]
Home » ワードマクロ・Word VBAの使い方 » Shape・図形 » 文字列の折り返しを変更するWordマクロ