Home » ワードマクロ・Word VBAの使い方 » Shape・図形 » 文字列の折り返しを変更するWordマクロ

文字列の折り返しを変更するWordマクロ

対象:Word2007, Word2010, Word2013

「vba ワード マクロ 文字列の折り返し」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

Word文書に浮動オブジェクトの画像・図を入れるような場合、本文の文字列と、画像・図の位置関係をどうするかを指定する[文字列の折り返し]は、とても重要です。

文字列の折り返しを変更する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

アクティブ文書のすべての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

先ほどのアクティブ文書を対象にしたマクロで

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マクロ

「Shape・図形」の記事一覧

検索


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

.