無償化された「Power Automate Desktop」の基本的な使い方や、Outlookの自動化について具体例をつかってご紹介をします。
「Power Automate Desktop」とは
「Power Automate Desktop」とは、Microsoftが提供する無料のRPAツールです。
「Power Automate Desktop」は「Power Automate」の機能の一部で、「Microsoft Power Platform」のサービスの1つでもあります。
参考:【Power Automate Desktop】Microsoftの無料RPAツールの概要
アクション|Outlookの操作一覧
「Power Automate Desktop」をつかってOutlookで自動化できる項目はこちらです。
項目 | 内容 |
Outlook を起動します | Outolook を起動して、新しい Outolook インスタンスを作成します。 |
Outlook からメール メッセージを取得します | Outolook アカウントからメール メッセージを取得します。 |
Outlook からのメール メッセージの送信 | Outolook で新しいメール メッセージを作成して送信します。 |
Outlook でメール メッセージを処理します | 「Outlook からメール メッセージを取得します」のアクションで取得されたメール メッセージ(またはメール メッセージの一覧)を移動または削除します。 |
Outlook メール メッセージを保存します | 指定されたアカウントからの Outolook メール メッセージを保存します。 |
Outlook メール メッセージに応答します | 全員に返信、返信、または転送して、 Outolook メッセージに応答します。 |
Outlook を閉じます | 以前に起動した Outolook インスタンスを閉じます。 |
スポンサーリンク
Outlook|Excelリストの内容をもとに一括メール作成
かんたんな自動化の作成をとおして「Power Automate Desktop」の使い方をご紹介します。
こちらでは、あらかじめExcelリストに準備した内容をもとにOutlookをつかって一括でメールを自動作成する方法をご紹介します。
また、Excelリストに掲載されている宛先一覧のうち、送信対象を選択する方法もあわせてお伝えします。
今回お伝えするポイントはこちらです。
- Outlookの自動化
- Excelデータの取得
- ループ処理による一括送信
- 条件分岐による送信対象の区別
「Power Automate Desktop」で自動化する具体的な内容はこちらです。
なお、今回使用するエクセルファイルはこちらです。
さきに動作結果を確認しておきましょう。
実行後はこのようにメールが2つ作成されます。
(Outlook「送信トレイ」に追加される形になります)
手順1|Outlook の起動
まずはOutlookを起動します。
手順2|Excel の起動
メール作成のもとになるExcelを起動します。
こちらではファイル名「メールリスト.xlsx」を指定しています。
今回は「To(宛先)」、「件名」、「本文」と「送信対象」を設けています。手順6で、D列の「送信対象」の値をもとに条件分岐の処理をおこないます。
参考:【Power Automate Desktop】エクセルでできることや使い方を紹介
手順3|Excel の最下行を取得
アクション「Excel ワークシートから最初の空の列や行を取得」をつかってエクセルの最終行を取得します。
こちらでは手順2で生成されたインスタンス「Excelinstance」を指定するだけで問題ありません。
今回のエクセルファイルで取得される値は、次のとおりです。
変数 | 値 | 内容 |
FirstFreeColumn | 5 | 最初に空白になるE列の列番号 |
FirstFreeRow | 5 | 最初に空白になる5行目の行番号 |
手順4|Loop
アクション「Loop」の設定をします。
エクセルファイルに入力されている値をもとにして、繰り返しとなる対象を設定します。
具体的な内容はつぎのとおりです。
パラメータ | 値 | 内容 |
開始値 | 2 | エクセルの2行目を指定 |
終了 | %FirstFreeRow – 1% | 最終行の取得 (FirstFreeRowの取得値「5」から「1」を差し引いた行番号) |
増分 | 1 | 1行ずつ順に値を取得 |
参考:【Power Automate Desktop】ループ処理の使い方を解説
手順5|Excel ワークシートから読み取り
手順4で生成された変数「Loopindex」をつかってエクセルの値を取得します。
パラメータで先頭列を「4」と指定することによって、4列目であるD列「送信対象」の値を取得することができます。
具体的な取得値はつぎのとおりです。
こちらでつぎの手順6で条件分岐の処理をさせるための前処理をおこなっています。
Loopindex | 送信対象 (「先頭列:4」の値) |
2 | |
3 | TRUE |
4 | TRUE |
ちなみに自分がわかりやすいように変数名を手入力で「Target」に変更しています。
手順6|If
条件分岐の設定をします。
手順5で取得した変数「Target」の値を条件分岐の判断対象としています。
こちらでは、変数「Target」(エクセルファイルのD列「送信対象」)の値が「TRUE」と等しい場合、つぎの処理を実行するといった設定をしています。
今回の例では、「TRUE」と入力されている3行目と4行目が対象となります。
参考:【Power Automate Desktop】具体的な条件分岐の使い方
手順7|Excel ワークシートから読み取り
エクセルファイルの値を取得します。
それぞれ「To(宛先)」、「件名」、「本文」に該当する列番号をパラメータ「先頭列」で設定をします。
具体的に取得される値はつぎのとおりです。
Loopindex | 先頭列「1」 | 先頭列「2」 | 先頭列「3」 |
3 | sample2@mail.com | TEST_sub2 | TEST_message2 |
4 | sample3@mail.com | TEST_sub3 | TEST_message3 |
それぞれのアクションで取得値の設定をします。
まずは、「To(宛先)」を取得します。
パラメータの先頭列を「1」とすることによって、エクセルファイルの「A列」を指定しています。また、判別しやすいように変数名を「Destination」に変更しています。
つぎに、「件名」を取得します。
パラメータの先頭列を「2」とすることによって、エクセルファイルの「B列」を指定しています。また、判別しやすいように変数名を「Subject」に変更しています。
さいごに、「本文」を取得します。
パラメータの先頭列を「3」とすることによって、エクセルファイルの「C列」を指定しています。また、判別しやすいように変数名を「Text」に変更しています。
手順8|Outlook からのメール メッセージの送信
パラメータの選択で、手順7で取得したそれぞれの変数の値を指定します。
アカウントの入力については、こちらをご参照ください。
参考までに「Outlook2019」での確認方法をご紹介します。
1.Outlookを起動して「ファイル」を選択します。
2.「アカウント設定」をクリックします。
3.表示されている「アカウント」を確認します。
(参考:【Power Automate Desktop】Outlook からのメール メッセージの送信)
スポンサーリンク
まとめ
ExcelリストからOutlookをつかってメールを作成する方法をご紹介しました。
今回ご紹介したように、「Loop|繰返し処理」や「If|条件分岐」などプログラミングの考え方が必要な部分こそありますが、コードを記述することなく自動化ツールを作ることができます。
このような方法をうまく活用いただければ面倒な作業の効率化をはかれる可能性がありますので、ぜひ一度お試しください。
また、より実践的なOutlookの活用事例を「【Power Automate Desktop】自動メール送信フォルダー|OutlookとExcelの事例」でご紹介していますので、あわせてご確認ください。
こちらに「Power Automate Desktop」でできることや基本的な操作方法をまとめていますので、もしご興味がございましたら一度ご覧ください。