Excel VBAを使用した社員向けイベント通知メールの自動送信手法

この記事では、Excel VBAを利用して社員向けのイベント通知メールを自動で送信する方法について詳しく解説します。具体的なコードの実装例から、その詳細な解説、さらには応用例まで、一通りの手法を身につけることができます。

目次

Excel VBAの基本

Excel VBA(Visual Basic for Applications)は、Microsoft Excelに組み込まれたプログラミング言語です。これを用いると、単純作業の自動化だけでなく、高度なデータ分析やレポート作成も可能になります。

そもそも、どこにVBAコードを書いて、どう実行すれば良いのか分からない場合は、以下の記事をご参照ください。

基本の実装: 社員向けイベント通知メールの送信


Sub SendEventNotification()
    Dim OutlookApp As Object
    Dim Mail As Object
    Dim LastRow As Long
    Dim i As Long

    ' Outlook アプリケーションの起動
    Set OutlookApp = CreateObject("Outlook.Application")
    
    ' 社員の情報が入っている最後の行を取得
    LastRow = ThisWorkbook.Sheets("Sheet1").Cells(Rows.Count, 1).End(xlUp).Row

    For i = 2 To LastRow
        Set Mail = OutlookApp.CreateItem(0)
        
        With Mail
            .To = ThisWorkbook.Sheets("Sheet1").Cells(i, 2).Value
            .Subject = "【重要】社員向けイベントのお知らせ"
            .Body = ThisWorkbook.Sheets("Sheet1").Cells(i, 3).Value
            .Send
        End With
    Next i

    Set Mail = Nothing
    Set OutlookApp = Nothing
End Sub

コードの詳細解説

– **OutlookApp**: Outlookのアプリケーションを操作するための変数を宣言します。
– **Mail**: メールの新しいアイテムを作成するための変数を宣言します。
– **LastRow**: 社員の情報が入っているシートの最後の行番号を取得します。
– **Outlookアプリケーションの起動**: CreateObject関数を使用してOutlookを起動します。
– **Forループ**: シート内の各社員情報に対してメールを送信します。
– **.To**: メールの宛先を指定します。ここでは、シートの2列目(メールアドレス)を使用しています。
– **.Subject**: メールの件名を設定します。
– **.Body**: メールの本文を設定します。シートの3列目(メールの内容)を使用しています。
– **.Send**: メールを送信します。

応用例

1. イベントの日付をメールの本文に追加する


.Body = "次回の社員向けイベントは " & ThisWorkbook.Sheets("Sheet1").Cells(i, 4).Value & " に開催されます。" & vbNewLine & ThisWorkbook.Sheets("Sheet1").Cells(i, 3).Value

2. 送信者名を追加する


.SentOnBehalfOfName = "event@yourcompany.com"

3. 送信前に確認メッセージボックスを表示する


If MsgBox("メールを送信してもよろしいですか?", vbYesNo + vbQuestion, "確認") = vbYes Then
    .Send
End If

まとめ

Excel VBAを活用することで、社員向けのイベント通知メールの自動送信が可能になります。基本のコードを理解した上で、必要に応じて応用例を取り入れることで、より実用的な機能を追加することができます。

VBAも良いけどパワークエリも良い

VBAの解説をしてきましたが、VBAは正直煩雑でメンテナンス性が悪いです。最近はモダンExcelと呼ばれるパワークエリやパワーピボットへのシフトが進んできています。本サイトでもパワークエリの特集をしており、サンプルデータを含む全11回の学習コンテンツでパワークエリを習得することができます。

クリックするとパワークエリの全11講座が表示されます。

パワーピボットの記事はありません。興味がある場合は、書籍で学んでみてください

コメント

コメントする

目次