Wordで作成したテンプレート文章で、特定の文字を検索して置き換える処理になります。
検索対象の文字列は、Wordの本文と重複しない文字列に設定しておいてください。
テンプレートを使用しない場合は、Wordファイルを開くを参考にしてください。

【サンプルプログラム】
' ------------------------------------------------------------
' 説明:Word のテンプレートファイルを開く
' 引数:1:テンプレートファイル名
' 戻値:-
' 備考:-
' ------------------------------------------------------------
Sub WordTemplateOpen(filename As String)
Dim WordApp As Word.Application
Dim WordDoc As Word.Document
Set WordApp = New Word.Application
' Wordを表示する
WordApp.Visible = True
' 指定したWordテンプレートファイルを起動します。
Set WordDoc = WordApp.Documents.Add(Template:=filename)
' 処理
WordStrReplace WordDoc, "###名前###", "トロのさしみ"
WordStrReplace WordDoc, "###電話番号###", "012-3456-7890"
WordStrReplace WordDoc, "###コメント###", "Excel VBAで自動化"
' 終了
WordDoc.Close
WordApp.Quit
End Sub
【関数化】
' ------------------------------------------------------------
' 説明:Word の文字列を置き換える
' 引数:1:Wordのオブジェクト
' 2:置き換える前の文字列
' 3:置き換える後の文字列
' 戻値:-
' 備考:-
' ------------------------------------------------------------
Sub WordStrReplace(WordDoc As Word.Document, key As String, rep As String)
With WordDoc.Content.Find
.Text = key
.Replacement.Text = rep
.Execute replace:=2
End With
End Sub
【補足】
Word.Application を使用しています。
初期設定では、エラーが発生するので、参照設定「Microsoft Word 16.0 Object Library」の設定
が必要です。


コメント