Home » ワードマクロ・Word VBAの使い方 » Shape・図形 » テキストボックスの存在するページ番号を取得するWordマクロ

テキストボックスの存在するページ番号を取得するWordマクロ

対象:Word2007, Word2010, Word2013, Windows版Word2016

「word vba テキストボックスが何ページ目にあるか」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

Word VBA(Visual Basic for Applications)で、テキストボックスが文書内の何ページ目にあるかを調べるには、どのようなコード書けばいいのかを探している方による検索です。

「word マクロ テキストボックスのあるページを取得」
という検索をなさった方も、同じことを探していたのかもしれません。

[スポンサードリンク]

テキストボックスの存在するページ番号を取得するサンプルマクロ

以下のマクロを実行すると、アクティブ文書のテキストボックスのあるページ番号が、イミディエイトウィンドウに出力されます。

Sub テキストボックスのページ番号を取得する()
 Dim shp As Shape

 For Each shp In ActiveDocument.Shapes
  If shp.Type = msoTextBox Then
   Debug.Print _
     shp.Anchor.Information(wdActiveEndPageNumber)
  End If
 Next shp
End Sub

サンプルマクロの解説

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

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

アンカーの存在するページ番号を、Range.Informationプロパティの引数に定数・wdActiveEndPageNumberを指定することで取得して、Debug.Printしています。
   Debug.Print _
     shp.Anchor.Information(wdActiveEndPageNumber)

ShapeオブジェクトのAnchorプロパティが、Rangeオブジェクトを返すところが、

テキストボックスの存在するページ番号を取得するWordマクロ

ポイントでしょうか。

[スポンサードリンク]

Home » ワードマクロ・Word VBAの使い方 » Shape・図形 » テキストボックスの存在するページ番号を取得するWordマクロ

「Shape・図形」の記事一覧

検索


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

.