トップ > 資格を活かすには > やってみよう!Excel VBAで業務改善! > 持続可能なスキーム編: 第13話「VBAの真骨頂」3/4 :ExcelとWordのチームプレー

やってみよう!Excel VBAで業務改善! 持続可能なスキーム編|第13話 「VBAの真骨頂」

ExcelとWordのチームプレー

「…Officeアプリごとに、それぞれのVBAが用意されてるのね。
じゃあ、次の"Officeアプリケーション間での連携が容易"ってのは……」

「はい。Excel VBAから、Word VBAやOutlook VBAなど、
他のOfficeアプリのVBAを利用するマクロが作れちゃうんですよ」

そう言うと、岬さんはマクロブックを1つ立ち上げました。

「……昔作ったサンプルなんですけど、
Excelの表からWordのドキュメントに、差し込み印刷をするマクロです」


Sub 差し込み印刷()
    Dim wrd As New Word.Application
    Dim doc As Object, i As Long
    
    For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
        Set doc = wrd.Documents.Open(ThisWorkbook.Path & "\連絡.docx")
        doc.Paragraphs(1).Range.InsertBefore Cells(i, 1).Value & " 様"
        doc.PrintOut
        doc.Close False
    Next i

    wrd.Quit
End Sub

「このマクロを実行すると、マクロブックと同じフォルダーにある"連絡.docx"を開き、
1段落目にシートA列の担当者名を挿入して、印刷します。
A列にある名前の数だけ、連続印刷してくれますよ」

水木さんが、あっけにとられたような顔をします。

「あらあら……まあ。
…ExcelとWordのチームプレーってやつね。
これって、他のOfficeアプリとでもできるんでしょ?」

「はい。Excelの表からOutlookメールを作成して、複数のアドレスに一斉送信……なんてのも、
お茶の子さいさいです」

「ワーオ。
これって、他のプログラム言語だと大変じゃない?」

一覧にもどる