
例えば、Wordの文章で「田中」とあるものを「山田」に変えたい場合は、置き換えの機能を使ってマクロの記録ができると思います。
しかし、こうするとテキストボックスやヘッダフッタに記載された文字は変更できないように思います。
どうすれば、これらの文字も含めて置換の対象とすることができるか教えてください。
Sub Macro()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "山田"
.Replacement.Text = "田中"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = False
.MatchFuzzy = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
No.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
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
カンマを改行に変換する方法
-
ワード (word ) 日本語の文字...
-
秀丸で余分なスペースを削除したい
-
Word:差し込み印刷時に文字列...
-
セルの文字列後ろのスペース削除
-
CSVファイルの任意の列をダブル...
-
word 改行マークを印刷時に表示...
-
ワード文書のスペースを一括削除
-
桐の項目名の変数利用(一括処理)
-
エクセルの『検索と置換ボック...
-
丸付き数字やローマ数字などの...
-
Excelで全角ハイフンを半角ハイ...
-
カンマ( , )をタブに置換したい。
-
複数のスペースをひとつのカン...
-
テキストでタブを検索してスペ...
-
エクセル重複削除で綺麗に削除...
-
複数のワード文書に対して文字...
-
Wordでこのような三角が出てく...
-
ワードに「URL」を貼り付けると...
-
スケッチスタイルの有効化
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
カンマを改行に変換する方法
-
カンマ( , )をタブに置換したい。
-
秀丸で余分なスペースを削除したい
-
エクセル重複削除で綺麗に削除...
-
Excelで全角ハイフンを半角ハイ...
-
エクセルの『検索と置換ボック...
-
文字の列を揃えるには
-
Word:差し込み印刷時に文字列...
-
エクセルで濁点カナの変換方法...
-
セルの文字列後ろのスペース削除
-
エクセルでコンマとピリオドを...
-
word 改行マークを印刷時に表示...
-
CSVファイルの任意の列をダブル...
-
エクセルの「置換」で1行の部分...
-
1文字だけ置換したい
-
文字列に含まれているダブルク...
-
ExcelのVBA 正規表現でタブを...
-
ワード (word ) 日本語の文字...
-
テキストでタブを検索してスペ...
-
Wordの置換を使って複数のスペ...
おすすめ情報