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

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

対象:Word2007, Word2010, Word2013

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

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

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

「vba ワード マクロ 文字列の折り返し」という検索キーワードは、この[文字列の折り返し]の設定を、VBA(Visual Basic for Applications)で行うにはどうすればいいのかを探している方によるものでしょう。

たくさんの浮動オブジェクトの文字列の折り返しを変更しようとすると、かなり面倒ですから、マクロで処理してしまいたいという要望は、とても共感できます。

[スポンサードリンク]

アクティブ文書の全浮動オブジェクトの文字列の折り返しを四角に変更するサンプルマクロ

以下のようなマクロで、アクティブな文書の全Shapeの文字列の折り返しを「四角」に変更することができます。


Sub 文字列の折り返しを四角に()

 Dim shp As Shape

 For Each shp In ActiveDocument.Shapes
  shp.WrapFormat.Type = wdWrapSquare
 Next shp

End Sub

アクティブ文書のすべてのShapeにループを回して、
 For Each shp In ActiveDocument.Shapes

WrapFormatオブジェクトのTypeを変更しています。
  shp.WrapFormat.Type = wdWrapSquare

上記のマクロでは、全Shapeの文字列の折り返しを四角にしていますが、画像の設定だけを変更したいのであれば、
 For Each shp In ActiveDocument.Shapes
  If shp.Type = msoPicture Then
   shp.WrapFormat.Type = wdWrapSquare
  End If
 Next shp
のようにIf文を入れればOKです。

アクティブページの全浮動オブジェクトの文字列の折り返しを四角に変更するサンプルマクロ

以下のようなマクロにすれば、アクティブなページの全Shapeの文字列の折り返しを「四角」に変更することができます。


Sub 文字列の折り返しを四角に_アクティブページ()

 Dim shp As Shape

 For Each shp In _
 ActiveDocument.Bookmarks("\Page").Range.ShapeRange
  shp.WrapFormat.Type = wdWrapSquare
 Next shp

End Sub

先ほどのアクティブ文書を対象にしたマクロで
 For Each shp In ActiveDocument.Shapes
となっていた部分が、
 For Each shp In _
 ActiveDocument.Bookmarks("\Page").Range.ShapeRange
となっていることが異なるだけです。

[スポンサードリンク]

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

TrackBack:1

TrackBack URL
WrapFormat.Typeプロパティで文字列の折り返し種別を指定する定数の一覧 from インストラクターのネタ帳
Word(ワード)VBA(Visual Basic for Applications)で、文字列の折り返しを表すWrapFormat.Typeプロパティに...

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

「Shape・図形」の記事一覧

検索


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

.