• ベストアンサー

複数ファイルで置換

1ファイル内で置換する方法はわかりますが、 複数ファイル内で特定文字列を一挙に置換する方法はわかりません。 ワード2002使ってます。 そのような方法はないのでしょうか? 別のソフトが必要なるという事になるのでしょうか? よろしくおねがいします。

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

VBAでやって見ました。テストは2文書でしかやって おらずテスト不足ですが。 (1)下記のArray("講座申込.doc", "教育委員会.doc", "END")のかっこの中に、置換したい文書名を””で囲い、,で区切って連ねて書きこんで下さい。 (あるいは毎回fn=Inputbox("文書名は?)で聞く手もあります) (2).Text = "教育" .Replacement.Text = "教育*" の右辺のところの語句を、貴殿の場合の適当な語句に変えてください。 (3)そして実行します。 Sub test02() f = Array("講座申込.doc", "教育委員会.doc", "END") i = 0 Do While f(i) <> "END" MsgBox f(i) Documents.Open FileName:=f(i), ConfirmConversions:=False, ReadOnly:= _ False, AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:= _ "", Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="", _ Format:=wdOpenFormatAuto Call replacef  If i <> 0 Then ActiveDocument.Close End If i = i + 1 Loop End Sub '---- Function replacef() 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 Function 一部「置換」のマクロの記録の結果を使っているので、不用な行が多数あり、冗長になっていますが、そのままにしています。

noname#2813
質問者

補足

ありがとうございました。 プログラミングは苦手です。 一応ソフトを使ってみようと思います。

その他の回答 (1)

  • asuca
  • ベストアンサー率47% (11786/24626)
回答No.1

テキスト形式で保存しておけば参考URLの様なソフトで高速に置き換えが出来ます。

参考URL:
http://www.vector.co.jp/soft/win95/util/se142895.html

関連するQ&A