【Word VBA】フィールドを編集可能なテキストに変換するWordマクロ

2011年8月4日

大阪の勉強会 でご質問いただいたので作ってみました。

フィールドを使われている方々案外いらっしゃいますね。

私も、書類の日付用にフィールドを使ったことがあるのですが、毎回開くたびに表示される日付が変更されますね。

用途は、印刷物を納品する場合だったので、特に不便には思っていませんでした。

ところが、書類中のフィールドを確定したい(テキストにしたい)場合もございます。

そんなときに使えるマクロです。

このマクロでできること

文書中の全てのフィールドを編集可能なテキストにします。

リスト表示で自動で入力される記号(箇条書きの記号)は対象外です。

使ってみて、どれがフィールドであり、処理対象なのかご確認ください。

マクロ解説

マクロ(1)では、文書全体のフィールドが処理対象です。処理対象のオブジェクトをActiveDocumentとしているからです。

マクロ(2)をおまけで追加しました。こちらでは、カーソル位置(もしくは、選択範囲内)にあるフィールドが処理対象です。オブジェクトが、Selectionだからです。

マクロ(1)


Sub 文書中のフィールドをテキストにする()
  ActiveDocument.Fields.Unlink
End Sub

マクロ(2)


Sub 選択中のフィールドをテキストにする()
  Selection.Fields.Unlink
End Sub

コメント

  • 4. Re:Ctrl + Shift + F9 でも

    >佐藤 豊さん

    ご教示をどうもありがとうございました。

    これを調べてみましたら、 UnlinkFields というコマンドマクロを実行するショートカットキーですね。

    こちらも便利ですね。ご紹介をありがとうございました!

  • 3. Ctrl + Shift + F9 でも
    範囲を選択して Ctrl + Shift + F9 でも同じことができるのでは?
    佐藤 豊返信する
  • 2. Re:無題

    >YKさん

    コメントをどうもありがとうございます。

    ブログを拝見いたしました。
    このブログのご紹介をどうもありがとうございます。

    今後ともどうぞよろしくお願いいたします!

  • 1.
    はじめまして、在宅特許翻訳者のYKと申します。大変役立つマクロを紹介していただき、ありがとうございました。マクロはこれから少しずつ勉強しようと思います。なお、私のブログで紹介するとともに、ブックマークさせていただきました。
    YK

-コード
-, , ,