【本日のミッション】
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の目次のアルファベットが勝手に大文字になる・・・を解決