word テキストボックスのページ番号・フィールドを一括で更新する方法

【本日のミッション】

word内のテキストボックス内のページ番号やフィールドを一括で更新せよ

ミッションの概要

前回お話ししました

word ブックマークのページ番号を相互参照を使って挿入

の続きです。

これ、私の長年の悩みやったんです。

100ページ、200ページ級のword文章に携わることもありましたが、相互参照機能は非常によく使うので・・・

テキストボックス内のページ番号(フィールド)が簡単に更新できないことが、非常にやっかいでした。

今回は、テキストボックス内のページ番号(フィールド)の更新をマクロで実現しましょうというミッションです。

ファイルの準備とプロシージャ

この一括更新にはマクロを使用しますので、そのための準備を・・・

まずは、マクロを組み込みたいファイルを、

[ファイル]-[名前を付けて保存]

で、保存先を選択し、ファイルの種類を

「Wordマクロ有効文章(*.docm)」

にして保存します。

wordのリボンに「開発」メニューの無い方は、まずはこのメニューを出しましょう。

[ファイル]-[オプション]ー[リボンのユーザー設定]

これで、リボンの一番右に「開発」メニューが出てきました。

このメニューの一番左「Visual Basic」をクリックします。(またはAlt+F11キーでもOKです。)

■■■スポンサーリンク■■■

Microsoft Visual Basic for Applicationの画面が表示されます。

[挿入]-[標準モジュール]をクリックします。

画面左のプロジェクトの「標準モジュール」の下に「Module1」というのが作られますので、それをクリックします。

画面右に下のコードをコピーしてください。

Sub オブジェクト内フィールド更新()
Dim shp As Shape
For Each shp In ActiveDocument.Shapes
    shp.Select
    Selection.Fields.Update
Next shp
End Sub

そしてコピーしコード内にカーソルを置いた状態で

ツールバーの「▶」をクリック、
または[実行]-[Sub/ユーザーフォームの実行]をクリック
または「F5」キーをクリック
します。

Wordの画面に戻ってください。

加藤さんと佐藤さんのページ番号も変わっています。

このマクロは、ドキュメント内の全てのテキストボックス内のフィールドを更新するコードです。

なので、選択していないページのページ番号も更新されます。

Wordでマクロを使う機会はあまりないのですが、今回はこのようにして使ってみました。

参照

Word 相互参照に表示された見出しのスラッシュを取る方法
word ブックマークのページ番号を相互参照を使って挿入
word テキストボックスのページ番号・フィールドを一括で更新する方法
オブジェクトを全部選択 Word編
Wordの目次のアルファベットが勝手に大文字になる・・・を解決

■■■スポンサーリンク■■■