
複数の Word 文書で一括検索と置換を実行できるマクロがあります。画像 (ヘッダー内) の検索と置換は実行できますが、マクロ コード内に実装すると、マクロはそれを無視し、画像の検索と置換を実行しないようです。エラーは発生していないため、なぜこのような状況になるのかわかりません。ヒントがあれば、ぜひ教えてください。ありがとうございます。
Sub FindandReplaceTextPic()
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:=Directory & "\" & FName
' 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
'search and replace picture from clipboard
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "^g"
.Replacement.Text = "^c"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
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
各 storyRange (ヘッダーを含む) をループし、選択オブジェクトの代わりに範囲の .Find メソッドを使用します。
答え2
MS Word で画像を検索して置換する方法
MS-Word は、上記のシナリオで役立ちます。文書内のすべての画像を自動的に検索し、すべてを新しい画像に置き換える方法があります。
この方法ではすべての画像が検索され、すべてが新しい画像に置き換えられることに注意してください。この方法では、画像を選択することはできません。手順は次のとおりです。
- 置換を行う Microsoft Word 文書を開きます。
- 新しい画像をドキュメントの上部に挿入します。
- 新しく挿入した画像を選択し、Ctrl+ を押してCコピーします。
- 次に、新しく挿入した画像を削除します。
- Ctrl+を押してH「検索と置換」ボックスを開きます。
^g
「検索する文字列」ボックスと^c
「置換後の文字列」ボックスに入力します
すべての画像を検索し、新しい画像に置き換える方法。
「すべて置換」ボタンを押して魔法を見てみましょう!
すべての画像は MS Word で置き換えられました。
ドキュメント内のすべての画像が新しい画像に置き換えられます。もちろん、置き換え操作により、置き換えたくない画像も置き換えられます。このような場合は、置き換えたくない画像を再度挿入する必要があります。この方法は、次のようなシナリオで役立ちます。
- 文書には置換する画像のみが含まれている
- 文書には、置き換える必要のある画像が多数含まれており、置き換えないほうがよい画像が少数含まれている
最初のシナリオは簡単です。2 番目のシナリオでは、副作用として置き換えられた画像を再挿入することで、手作業が大幅に減ります。
この方法は、すべてのグラフィック ( で示される^g
) をクリップボードの内容 ( で示される^c
) に置き換えることによって機能します。したがって、基本的に、すべての画像をクリップボードにコピーできるものであれば何でも置き換えることができます。
ドキュメントのページ区切りをそのまま維持するには、同じサイズの新しい画像を使用する必要があります。
この MS-Word のヒントがお役に立てば幸いです。このトピックについてご質問がある場合は、コメントでお気軽にお問い合わせください。お手伝いさせていただきます。TechWelkin をご利用いただき、ありがとうございます。
詳細情報に関する関連記事:
- MS Word: 数字、桁、数値を検索して置換する方法
- MS-Word での書式の検索と置換
- マクロを使用して MS Word で複数の検索と置換を行う
- MS Word で行、段落、改行を置換する
- MS Word、HTML、Unicode で度記号を入力
- MS Word: 垂直の長方形領域を選択する方法