PeaceJetのブログ

金融系の社内エンジニアをやりながら、マーケティングやデータ分析などもやっています。

【VBA】WordとExcelのコラボレーション

Wordの文章をExcelから置換する方法

ほんと、毎日、こんなことばかりやっていて辛い。
ExcelからWordの文章を開いて、Excelからワードの文章中の文言を任意のものへ変更したい。

そんな要望があったので、作ってみました。

Word側はExcel側から検索できるように、置換したい部分を変更しておきます。
(以下を参照)

f:id:PeaceJet:20170511120634p:plain

参照設定からMicrosoft Scripting Runtime」にチェックを入れて下さい。

Sub ReplaceSentenceOnWordApp()

    Const FilePath As String = "" 'Excelファイルパス
    Dim wordObject As Object: Set wordObject = CreateObject("Word.Application")
    Dim wordApp As Object: Set wordApp = wordObject.Documents.Open(FilePath)
    Dim TargetText As String: TargetText = "{Name}"
    Dim ReplaceText As String: ReplaceText = "田中"
    
    wordObject.visible = True
    
    With wordApp.Content.Find
        .Text = TargetText
        .Replacement.Text = ReplaceText
        .wrap = wdFindContinue
        .Execute Replace:=wdReplaceAll
    End With

End Sub

適当にモジュールにコピーして、実行すれば動くはずです!

お試しあれ!