- ベストアンサー
Word2010特定の名前を置き換えるマクロ
- Wordの文章で特定の名前を置き換えるためのマクロについて紹介します。
- マクロを使用すると、テキストボックスやヘッダフッタに記載された文字も含めて置換の対象とすることができます。
- 具体的なコード例を示しています。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
[マクロの記録]は実行した機能をすべて記録するものではありません。 記録したものを実行しても、すべてのストーリーを対象にしません。 カーソルのあるストーリーのみに実行されるので、本文にある場合なら 本文のみが置換の対象になります。テキストボックス内へとカーソルを 置き記録したマクロを実行すれば、カーソルのある領域のみ置換をして その他のテキストボックスや本文などは対象になりません。 文書全体のテキストを置換したい場合は、以下のテキスト置換用マクロ などで対応します。 Sub AllReplaceText() Dim oStory As Range Dim Ftext As String Dim Rtext As String '検索する文字列 Ftext = "山田" '置換後の文字列 Rtext = "田中" Application.ScreenUpdating = False ' 本文領域にあるテキストを置換。 For Each oStory In ActiveDocument.StoryRanges With oStory.Find .Text = Ftext End With With oStory Do While .Find.Execute = True .Text = Rtext .Collapse wdCollapseEnd Loop End With ' 本文領域以外のストーリーが存在する場合の置換。 While Not (oStory.NextStoryRange Is Nothing) Set oStory = oStory.NextStoryRange With oStory.Find .Text = Ftext End With With oStory Do While .Find.Execute = True .Text = Rtext .Collapse wdCollapseEnd Loop End With Wend Next Application.ScreenUpdating = True End Sub ' ただし、ヘッダー・フッターにあるテキストボックスなどは対象外 参考にした関連情報 http://support.microsoft.com/kb/409098/ja