Outlookを使用してメルマガを配信する方法

概要

Excelワークシート内にメールアドレスを含んだ会員リストがあります。そのメールアドレス宛に、テキストファイルの原稿を送信します。送信完了したらワークシートに「成功」と書き込みます。

ワークフロー全体図

主な使用アクション

ファイルからテキストを読み取ります
Outlookを起動します
テキストを置換する
Outlookからのメールメッセージの送信
ラベル
エラー発生時

作成手順

①Excelファイルの用意

下記のような「名前」「メールアドレス」「送信結果」の列があるワークシートを用意
※メールアドレスはダミーです。

②メール本文をテキストファイルで用意

→下記のテキストファイルを読み込んで送信します。名前は任意ですので、「#NAME#」として、会員リストの名前と置き換わるようにします。

③【Excelの起動】アクションを追加

①で作成したExcelファイルを選択。
識別する[ExcelInstance]変数が生成される

④【Excelワークシートから読み取り】アクションを追加

[取得]:「ワークシートに含まれる使用可能なすべての値」
[範囲の最初の行に列名が含まれています]:「チェック」
→[ExcelData]変数が生成され取得データを格納

⑤【ファイルからテキストを読み取ります】アクションを追加

→②で用意したメール本文のテキストファイルを読み取ります。

[ファイルパス]:「テキストファイルがあるパスを指定」
[エンコード]:「テキストファイルの文字コードを指定」
→間違えると文字化けします。

→[FileContents]変数が生成され取得データを格納

⑥【変数の設定】アクションを追加

→カウンター変数を設定。送信結果の書き込み時に使います。

⑦【Outlookを起動します】アクションを追加

⑧【For each】アクションを追加

→[ExcelData]変数に格納された会員データを1件ずつ取り出します。

⑨【テキストを置換する】アクションを追加

→メール本文の「#NAME#」と「会員の名前」を置き換え、置き換えられたメール本文を[Replaced]変数に格納します。

⑩【Outlookからのメールメッセージの送信】アクションを追加

[アカウント]:「送信元のメールアドレス」
[宛先]:「会員のメールアドレス」
→【For each】で設定した「CurrentItem」からメールアドレスを取り出します。
[本文]:「%Replaced%」
→⑨の生成されたメール本文の変数を指定します。

⑪【Excelワークシートに書き込み】アクションを追加

→⑩が実行されたら、送信完了したと見なし、会員の行に「成功」と書き込みます。
[行]:「%counter%」
→⑥で作成した変数。1回目は「2」

⑫【ラベル】アクションを追加

→アクションのエラーが発生したときに、ここに移動するよう「SendError」(名前は任意)とラベルを設定します。

⑬ ⑩で追加した【Outlookからのメールメッセージの送信】アクションの(左下にある)[エラー発生時]を開く

→⑩が実行されなかったら、【ラベル】アクションに移動します。
[例外処理モード]:「ラベルに移動」
[ラベルの選択]:「SendError」

⑭【変数を大きくする】アクションを追加

→Excelに書き込みする際の行をプラスします。

⑮【Excelを閉じる】アクションを追加

[Excelを閉じる前]:「ドキュメントを保存」
→書き込みを保存します。

⑯【Outlookを閉じます】アクションを追加

実行画面

受信したメール

送信結果の書き込み

→メールアドレスが空白だった為、送信されませんでした。