エクセルVBAを使用して、ワード内の文章にあるキーワードを置換します。
このVBA記入ファイル内に「作業シート」という名のシートがあります。
そのシートのA列に検索値を、B列に置換する文字が記入してあります。
尚、こちらのコードは、ほとんどChatgptを使って作成しました。
Sub ReplaceTextInWordDocument()
Dim wordApp As Object ' Wordアプリケーションオブジェクトを宣言
Dim wordDoc As Object ' Wordドキュメントオブジェクトを宣言
Dim findText As String ' 検索するテキストを格納する変数を宣言
Dim replaceText As String ' 置換するテキストを格納する変数を宣言
' Wordアプリケーションのインスタンスを作成
Set wordApp = CreateObject("Word.Application")
' Wordドキュメントを開く
Set wordDoc = wordApp.Documents.Open("C:\Users\hoge\Desktop\Document.docx") ' ドキュメントのパスを指定してください
Dim i As Long
With ThisWorkbook.Worksheets("作業シート")
For i = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
' 置換する文字列を指定
findText = .Cells(i, 1) '置換前のテキスト
replaceText = .Cells(i, 2) '置換後のテキスト
' テキストの置換を実行
With wordApp.Selection.Find ' Wordアプリケーションの選択範囲で検索する
.Text = findText ' 検索するテキストを設定
.Replacement.Text = replaceText ' 置換するテキストを設定
.Forward = True ' 検索を前方向に行う
.Wrap = 1 ' テキストの末尾に到達した場合、検索を継続
.Execute Replace:=2 ' 置換を実行し、すべての一致を置換
End With
Next i
End With
Debug.Print Cells(Rows.Count, 1).End(xlUp).Row
' ドキュメントを保存して閉じる
wordDoc.Save
wordDoc.Close
' Wordアプリケーションを終了
wordApp.Quit
' オブジェクトの解放
Set wordDoc = Nothing
Set wordApp = Nothing
MsgBox "終わりです"
End Sub
コードは以上になります。
ご覧頂きありがとうございました。