一括検索と置換の問題 - Microsoft Word 2013

一括検索と置換の問題 - Microsoft Word 2013

複数の Word 文書で一括検索と置換を行うマクロを作成しようとしています。ネットでこのマクロを見つけ、グラフィックにも適用できるように変更しましたが、ファイルが見つからないという実行時エラー (5174) が繰り返し発生します (フォルダ内に確実に存在するにもかかわらず)。

問題は次のとおりだと思います: support.microsoft.com/en-us/kb/212664 ただし、すべての Fname の後に「.docx」を追加するだけでは機能しないため、マクロに実装するのに少し問題があります。

マクロの経験があまりないので、初心者のような質問であればご容赦ください。

ご協力いただければ幸いです。

ありがとう。

Sub ReplaceText()
Dim Directory As String
Dim FType As String
Dim FName As String

Directory = "C:\Users\pieria\Desktop\TempPics"
FType = "*.docx"

ChDir Directory
FName = Dir(FType)
' for each file you find, run this loop
Do While FName <> ""
' open the file
Documents.Open FileName:=FName  '<--Error is supposedly here 

' search and replace the company name
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
    .Text = "CompanyA"
    .MatchCase = True
    .Replacement.Text = "CompanyB"
End With
Selection.Find.Execute Replace:=wdReplaceAll

' save and close the current document
ActiveDocument.Close wdSaveChanges

' look for next matching file
FName = Dir
Loop 
End Sub

答え1

現在のインスタンスはChDirあなたが行ったことを認識していないと思います。ファイルを開くときにフルパスを指定することをお勧めします。

 ' open the file
 Documents.Open FileName:= Directory & "\" & FName 

文字列を演算子でDirectory連結します。FName&

Directory含まれてC:\Users\pieria\Desktop\TempPicsいてFName含まれている場合は、新しい文字列を作成しますFirst.docx&C:\Users\pieria\Desktop\TempPics\First.docx

\ディレクトリ名とファイル名の間に追加したことに注意してください...

関連情報