ドキュメントファイル内で「検索と置換」をバッチ処理するにはどうすればよいでしょうか?

ドキュメントファイル内で「検索と置換」をバッチ処理するにはどうすればよいでしょうか?

次のような構造の .doc ファイルが複数あります。

[useless text #1]
[useful text]
[useless text #2]

無駄なテキストのブロックはファイル間で同じです。

有用なテキスト内の書式、画像、ハイパーリンクを壊さずに、これらの役に立たないブロックを一括削除するにはどうすればよいでしょうか?

答え1

手動削除アクションから VBA マクロを記録し、処理する必要がある各ドキュメントでそのマクロを (手動で) 実行することもできます。Word で VBA マクロを記録する方法をご存知ですか? テキスト ブロックが常に同じテキストで始まり、終わる場合は、比較的簡単で、作業の一部またはほとんどを節約できます。

答え2

ステップ1:「Alt + F11」キーを押して、Microsoft Visual Basic for Application ウィンドウを開きます。

ステップ2:[挿入] タブの [モジュール] をクリックし、次の VBA コードをコピーして [モジュール] ウィンドウに貼り付けます。

ステップ3:次にクリック走る(F5) ボタンを押して VBA を適用します。

VBA: 複数のドキュメント間で同じコンテンツを一度に検索および置換する

Sub CommandButton1_Click()
Dim MyDialog As FileDialog, GetStr(1 To 100) As String '100 files is the maximum applying this code
On Error Resume Next
Set MyDialog = Application.FileDialog(msoFileDialogFilePicker) 
With MyDialog 
.Filters.Clear 
.Filters.Add "All WORD File ", "*.docx", 1 
.AllowMultiSelect = True
i = 1 
If .Show = -1 Then
For Each stiSelectedItem In .SelectedItems 
GetStr(i) = stiSelectedItem
i = i + 1 
Next
i = i - 1 
End If 
Application.ScreenUpdating = False
For j = 1 To i Step 1
Set Doc = Documents.Open(FileName:=GetStr(j), Visible:=True)
Windows(GetStr(j)).Activate
Selection.Find.ClearFormatting 
Selection.Find.Replacement.ClearFormatting
With Selection.Find 
.Text = "search" 'Find What 
.Replacement.Text = "find" 'Replace With 
.Forward = True
.Wrap = wdFindAsk
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchByte = True
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute Replace:=wdReplaceAll
Application.Run macroname:="NEWMACROS"
ActiveDocument.Save
ActiveWindow.Close
Next
Application.ScreenUpdating = True
End With
MsgBox "operation end, please view", vbInformation
End Sub

注記:Text = "search"、Replacement.Text = "find" を変更して、検索するコンテンツと置換に適用するコンテンツを指定できます。

.Text = "search" 'Find What 
.Replacement.Text = "find" 'Replace With 

クレジット: extendoffice

答え3

土木工学の分野で働いていたとき、大量のプロジェクト ドキュメントに一度に複数の変更を加える必要があり、この問題が常に発生していましたが、このようなプログラム (または類似のプログラム) でこの問題が解決しました。

https://www.etsy.com/listing/1468077519/smart-replace-pro-automated-find-replace

私のは、ディレクトリ内のすべての MS Word および Excel ファイルを開いて、一度に多数の変数を一括検索/置換しましたが、このツールは PowerPoint も実行できるようです。

答え4

オンラインツールがありますhttps://batch-edit.comまさにこのユースケースに無料で使用できます。正規表現を作成し、すべての doc ファイル内の一致したテキストを同時に空のテキストに置き換えることができます。

完全な免責事項: 私はこのツールの作成者です。

関連情報