Home » ワードマクロ・Word VBAの使い方 » Shape・図形 » テキストボックス内の段落・文字列を中央揃えにするWordマクロ

テキストボックス内の段落・文字列を中央揃えにするWordマクロ

対象:Word2007, Word2010, Word2013

「word vba テキストボックス 中央揃え」
「word マクロ テキストボックス 中央揃え」
といった検索で、このサイト・インストラクターのネタ帳へのアクセスがあることに気づきました。

複数の解釈ができる検索キーワードではありますが、テキストボックス内の段落・文字列を中央揃えにするWord マクロ・VBA(Visual Basic for Applications)のコードを探している方による検索と、私は推測しています。

[スポンサードリンク]

文書内のテキストボックス内の段落・文字列を中央揃えにするサンプルマクロ

以下のようなマクロで、アクティブな文書内に存在する、すべてのテキストボックス内の段落・文字列を中央揃えにすることができます。

Sub テキストボックス内の文字列を中央揃えに_アクティブ文書()

 Dim shp As Shape

 For Each shp In ActiveDocument.Shapes

  If shp.Type = msoTextBox Then
   shp.TextFrame.TextRange.Paragraphs.Alignment _
    = wdAlignParagraphCenter
  End If

 Next shp

End Sub

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

もしShapeがテキストボックスだったときに、
  If shp.Type = msoTextBox Then

そのShapeの、TextFrameオブジェクトの、TextRangeオブジェクトの、Paragraphsコレクションオブジェクトの、Alignmentプロパティを中央揃えに設定しています。
   shp.TextFrame.TextRange.Paragraphs.Alignment _
    = wdAlignParagraphCenter

アクティブページ内のテキストボックス内の段落・文字列を中央揃えにするサンプルマクロ

以下のようなマクロで、アクティブなページ内に存在する、すべてのテキストボックス内の段落・文字列を中央揃えにすることができます。

Sub テキストボックス内の文字列を中央揃えに_アクティブページ()

 Dim shp As Shape

 For Each shp In _
 ActiveDocument.Bookmarks("\Page").Range.ShapeRange
 
  If shp.Type = msoTextBox Then
   shp.TextFrame.TextRange.Paragraphs.Alignment _
    = wdAlignParagraphCenter
  End If
 
 Next shp

End Sub

考え方は、先の、アクティブ文書内の、全テキストボックスの、段落・文字列を中央揃えにするマクロと同じです。

ループを回す対象が、アクティブ文書内の場合は、
 For Each shp In ActiveDocument.Shapes
でしたが、アクティブページ内の場合、
 For Each shp In _
 ActiveDocument.Bookmarks("\Page").Range.ShapeRange
となっているところだけが異なっています。

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » Shape・図形 » テキストボックス内の段落・文字列を中央揃えにするWordマクロ

「Shape・図形」の記事一覧

検索


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

.