【Power Automate Desktop】OutlookとExcelの連携でできることを解説

PAD

無償化された「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」を指定するだけで問題ありません。

今回のエクセルファイルで取得される値は、次のとおりです。

変数内容
FirstFreeColumn5最初に空白になるE列の列番号
FirstFreeRow5最初に空白になる5行目の行番号

手順4|Loop

アクション「Loop」の設定をします。

エクセルファイルに入力されている値をもとにして、繰り返しとなる対象を設定します。

具体的な内容はつぎのとおりです。

パラメータ内容
開始値2エクセルの2行目を指定
終了%FirstFreeRow – 1%最終行の取得
(FirstFreeRowの取得値「5」から「1」を差し引いた行番号)
増分11行ずつ順に値を取得

参考:【Power Automate Desktop】ループ処理の使い方を解説

手順5|Excel ワークシートから読み取り

手順4で生成された変数「Loopindex」をつかってエクセルの値を取得します。

パラメータで先頭列を「4」と指定することによって、4列目であるD列「送信対象」の値を取得することができます。

具体的な取得値はつぎのとおりです。
こちらでつぎの手順6で条件分岐の処理をさせるための前処理をおこなっています。

Loopindex送信対象
(「先頭列:4」の値)
2
3TRUE
4TRUE

ちなみに自分がわかりやすいように変数名を手入力で「Target」に変更しています。

手順6|If

条件分岐の設定をします。

手順5で取得した変数「Target」の値を条件分岐の判断対象としています。
こちらでは、変数「Target」(エクセルファイルのD列「送信対象」)の値が「TRUE」と等しい場合、つぎの処理を実行するといった設定をしています。

今回の例では、「TRUE」と入力されている3行目と4行目が対象となります。

参考:【Power Automate Desktop】具体的な条件分岐の使い方

手順7|Excel ワークシートから読み取り

エクセルファイルの値を取得します。

それぞれ「To(宛先)」、「件名」、「本文」に該当する列番号をパラメータ「先頭列」で設定をします。

具体的に取得される値はつぎのとおりです。

Loopindex先頭列「1」先頭列「2」先頭列「3」
3sample2@mail.comTEST_sub2TEST_message2
4sample3@mail.comTEST_sub3TEST_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の事例」でご紹介していますので、あわせてご確認ください。

タイトルとURLをコピーしました