Power Automateについて詳しく解説します
【完全版】Power Automate Desktopでメールを自動化する全方法
- Power Automate Desktopを使ってOutlookを自動化したい
- Outlookを自動化できる内容には、どのようなものがある?
- Outlookをどう自動化するのか例が知りたい
この記事では、以上の疑問にお答えします。
会社でよく使うメーラーソフトといえば、Outlookですよね。
同じMicrosoft 製品なので、Power Automate Desktopとの相性も抜群です。
しかし設定できる項目が多いため、どうやって設定すればいいかわからない方も多いのではないでしょうか。
当記事では、Power Automate DesktopのOutlookアクションについてまとめた上で、Excelを使ったメールの一斉送信について解説します。
Power Automate DesktopとOutlookをうまく絡めれば、今まで以上に仕事を効率化できるでしょう。
ぜひ1度読んでみてください。
なお、Power Automate Desktopの利用方法・起動方法は、以下の記事をご覧ください。
目次
著:やまもとてつや
Tipstour初の電子書籍化! 37歳で初の正社員となりITヘルプデスクとして勤務中の著者が、Power Automate Desktopを使った8つのメール作業・自動化事例とその方法を本書でご紹介しています。 これを読めば、ヘルプデスクの担当者はもちろん、WindowsPCで作業するすべてのワーカーの面倒なメール作業を自動化可能です。 Kindle Unlimitedで読み放題対象! |
【前提】Power Automate DesktopでできるOutlookアクション
Power Automate Desktopでは、Outlookアクションを数多く取りそろえています。
ざっくりあげるだけでも、下記の業務が自動化可能です。
- 定型文の自動送信
- 受信メールをExcelへ転記
- 特定のメールに対する自動返信
上記以外にも大量のメールを特定のフォルダーに一気に移動させるなどの一括処理もできます。
Outlookを使った作業の大半を自動化できるので、メール処理にかかっていた時間が短くなり本来の業務に集中できるようになるでしょう。
Outlookアクションでできること
Power Automate DesktopでできるOutlookアクションを最低限、設定すべき項目とともに見ていきましょう。
Outlookの起動・終了
Outlookを自動化する際に、必ず加えるアクションです。
起動時はOutlookを起動しますを加えます。
アクションを加えると、変数OutlookInstanceが生成されます。
以降のフローはOutlookInstanceをもとにアクションを加えてください。
Outlookを終了させるには、Outlookを閉じますを加えます。
注意点として、自動送信が終わる前にOutlookを閉じるアクションを加えると以下のメッセージが表示されます。
上のメッセージを表示させないためには、Outlookを閉じる前にフローコントロールアクションにあるWaitを加えてください。
Waitを使えば、設定した時間(秒数)だけフローを止められます。
メールの取得
Outlookからメールメッセージを取得アクションを加えると、特定のメールフォルダーのメッセージを取得します。
設定項目は以下になります。
- Outlookインスタンス:起動時に設定された変数(通常は%OutlookInstance%)
- アカウント:使用したいメールアドレス
- メールフォルダ:Outlook内で使用しているフォルダ。
- 取得:全てのメッセージ、既読・未読を選択可能
- 既読としてマークします:処理したメッセージを既読にするかどうかを選択可能
- 送信者が次を含む:送信者に含める内容を記載します。
- 宛先が次を含む:Toに含まれる内容を記載します(自分のメールアドレス等)
- 件名に次が含まれています:本文に次が含まれています
- 添付ファイル:添付ファイルがあれば、保存するかどうかを選択できます。
メールフォルダで、サブフォルダを指定する際は○○\○○と指定しましょう。
取得したメッセージには、RetrievedEmailsという変数が生成されます。
下記画像が変数の中身です。
リスト型の変数なので、For Eachアクションを使って全てのメッセージに処理が加えることも可能です。
さらに、詳細表示を見ると下記画像のようにプロパティが表示されています。
取得できるプロパティを下記の表にまとめました。
プロパティ | 内容 |
---|---|
.Attachments | 添付ファイル |
.Bcc | Bcc |
.Body | 本文のHTML |
.Bodytext | 本文のテキスト |
.Cc | Cc |
.Date | メールの受信日 |
.EntryID | 一意のID |
.From | 送信者のメールアドレス |
.MailFolder | 受信したメールを保存するフォルダ |
.Subject | 件名 |
.To | 宛先 |
メールの送信
Outlookからのメールメッセージの送信アクションを加えると、メールを自動送信します。
自分のアカウントを指定して、宛先や件名、本文などを入力して送信します。
メールをテキストファイルに保存
Outlookメールメッセージを保存を使えば、取得したメールをテキストファイルなどに保存できます。
Outlookからメールメッセージを取得アクションとセットで使いましょう。
設定項目は以下になります。
- アカウント:自分のメールアドレス
- 保存形式:後述する5つの保存形式が設定可能です。
- ファイル名:件名のままかカスタムで任意のファイル名を指定できます。
- メールメッセージを次に保存します:保存先をフルパスで指定
保存形式は以下の5つです。
- テキスト
- Outlookテンプレート
- Outlookメッセージ(Unicodeあり・なし)
- HTML
- MHT
たとえば、Excelに保存して分析したりOutlookテンプレートに保存したりできます。
特定メールに対する自動返信
Outlookメッセージに応答を加えると、Outlookからメールメッセージを取得で取得したメッセージに一斉返信できます。
For Eachアクションとセットで返信するのが特徴です。
設定項目は以下になります。
- アカウント:自分のメールアドレス
- メールメッセージ:取得アクションで設定した変数(CurrentItemなど)
- 応答アクション:返信、全員に返信、転送の3種類が選べます。転送時は宛先やCcを設定します。
- 本文:返信したい内容を記載します。
- 添付ファイル:返信時に添付するファイルを選択します。フルパスで入力してください。
送信されたメッセージに対して、一括で同じ内容を送信する際に使えます。
Excelリストを使って、メールを一括送信する
では、応用としてExcelファイルを使ってメールを一斉送信してみましょう。
下記のファイルを使います。
【ステップ①】Excelデータを読み込む
まずはExcelデータを読み込みます。
Excelデータの読み込みについては下記の記事で詳しく解説しています。
以下のようにデータが読み込めていたらOKです。
データを読み込んだら、Outlookを起動しますアクションをExcelを閉じるの後に加えてOutlookを起動させます。
【ステップ②】For Eachアクションで繰り返し設定を行う
For Eachアクションを使えば、読み込んだデータをもとに繰り返し処理を行なえます。
ループアクション欄にあるFor EachをOutlookを起動しますの下にドラッグアンドドロップしてください。
反復処理を行う値にステップ①で取り込んだExcelDataを入力しましょう。
新たな変数として、CurrentItemが生成されたのを確認します。
【ステップ③】メールを送信する
取り込んだデータをもとにメールを一斉送信します。
Outlookからのメールメッセージの送信をFor EachとEndの間にドラッグアンドドロップしてください。
下記画像が表示されます。
ひとまず以下のように入力してください。
- アカウント:自分のアカウント
- 宛先:%CurrentItem['メールアドレス']
- 件名:%CurrentItem['宛先']
- 本文:自由
取得したデータ内の項目を使う際は、以下のように入力します。
宛先と件名には、データ内の見出しとしてメールアドレスと宛先を使いましょう。
本文には、好きな文章を入力していただいて結構です。
ここまでできたら、前述したWaitをEndの次に加えます。
そのままフローを実行すると、PCの状況によって送信前にOutlookが閉じてしまいます(事実、筆者のOutlook環境は不安定なのでよく送信前に閉じてしまいます)。
PCの状況というのは、たとえば別のメールを送受信していたり別のアプリケーションの処理でメモリを消費したりしている場合です。
ここは正直さじ加減としか言えませんが、自身の状況を見て秒数を決めてください。
ひとまず、今回は設定する秒数を300(5分)としました。
最後にOutlookを閉じるを加えます。
実行してみましょう。
今回は自分のGmailのエイリアスを使って自分のGmailに来るように設定しました。
全てのメールが自分の受信トレイに来ているのが確認できます。
メールの自動送信ができました!
なお、CurrentItemを使った入力については下記の記事でも解説しています。
まとめ:Power Automate DesktopでOutlookを自動化してみよう
以上、Power Automate DesktopでOutlookを操作する際の設定方法やメールの一斉送信について解説しました。
同じMicrosoft製品なので設定できるアクションは豊富で、わかりやすい印象です。
また、For EachアクションとExcelファイルを使えば、メールの一斉送信がカンタンにできます。
仕事でOutlookを使っていたら、ぜひ取り入れてみてください。