こんにちは、blueです。
前回はリマインドメールの自動化についてOffice Scriptsを用いたマクロの作成までを説明しました。
さて、今回はPower Automateを使って完全自動化を行います。
・Power Automateを使ったことがないけど大丈夫かな?
と思われる方も大丈夫です。
できる限りわかりやすく説明しますので安心して読んでいってください。
各ブロックの内容が最初はわかりにくいかもしれませんが、VBAの基礎があれば理解は早いので安心してください。
より早く理解する為には以下の書籍もおすすめします。
Power Automateを一から触る方にお勧めの書籍です。Power Automateって何?というところから操作方法まで詳しく説明してくれています。他のアプリとの連携まで詳しく書かれています。
Office Scriptsを一から学んでみたい方は以下の書籍がお勧めです。TypeScriptの基本からPower Automateへの連携まで、OfficeScriptsを扱う為必要なすべての内容が書かれています。
作成手順
今回の作成手順は以下になります。
- 日程調整アンケートのExcelファイルを作成する
- 記載していない人だけの情報を取得するマクロを作成する
- Power Automateを使ってOffice Scriptsを定期実行し、取得した値をもとにメール送付を行う
今回は最後のPower Automateによる処理を説明をします。
初めての方向けにまずはPower Automateアプリの基本的な使い方から説明します。
Power Automateアプリを起動する
Power Automateを起動する方法は以下になります。
1. Microsoft 365ホームにて左上の「9点リーダー」をクリックする
2. 「すべてのアプリ」をクリックする(この段階でPower Automateが表示される場合はクリックしてOKです)
3. 「Power Automate」をクリックする
4. Power Automateへようこそ の画面にて国/地域の選択を「日本」とし、「開始する」をクリックする
以下の画面が表示されればOKです。
PowerAutomateでフローを新規作成する
次に実際のフローを作成する方法についてみていきます。
1. Power Automateホームから「+作成」「自動化したフロー」を選択する
2. 「⾃動化したクラウドフローを構築する」という画⾯がでる。ここでフロー名やトリガーを作成することもできるが、後でも設定できるのでここでは「スキップ」をクリックする
フローの作成画面が表示されればOKです。
PowerAutomateでフローを作成する
それでは本番のフローを作成します。
具体的なフローは以下となります。
- Power Automateを定期的に実行する
- 「忘年会調整アンケート」ファイルのOffice Scriptsを実行する
- 取得したメールアドレスの配列に対して1件1件メール送付を行う
以降で詳しく説明します。
Power Automateを定期的に実行する
まずは所定日から3日ごとの朝9時にフローを実行するトリガーを設定します。
1. 検索ボックスで「繰り返し」を入力すると「スケジュール」コネクタが表示されるので、トリガーの「繰り返し」をクリックする
2. 詳細オプションを表示したうえで以下の情報を入力する。
- 「間隔」・・・3日
- 「頻度」・・・日
- 「タイムゾーン」・・・(UTC+9:00)大阪、札幌、東京
- 「開始時刻」・・・2022-12-05T09:30:00.000
Power AutomateからOffice Scriptsを実行させる
次にOffice Scriptsを実行するアクションを追加します。
1. 「新しいステップ」を選択する
2. 検索ボックスで「Excel」を入力すると「Excel Online」コネクタが表示されるので、アクションの「スクリプトの実行」をクリックする
3. Excelファイルのある場所を指定する
- 「場所」・・・SharePoint Siteの名前。「∨」をクリックすると所属しているSite名が出てくる
- 「ドキュメントライブラリ」・・・SharePoint Site内のドキュメントライブラリの名称。同様に「∨」をクリックするとSharePoint Site内のドキュメントライブラリが表示される
- 「ファイル」・・・ドキュメントライブラリ内のExcelファイル。こちらも「∨」をクリックするとドキュメントライブラリ内のファイルが表示される
ではこの状態で一度保存し、スクリプトが実行されるかを確認してみます。
・左上の「フロー名」をクリック、「忘年会出欠リマインド」とし、「保存」をクリックする
・「フローを開始する準備ができました。テストすることをお勧めします」と出るので右上の「テスト」をクリックする
・フローのテストの画面になるので「手動」を選択し、「テスト」をクリックする
・「フローの実行」をクリックする。「完了」をクリックする
フローが実行されます。以下の画面のように「ご利用のフローが正常に実行されました」にあわせて各フローの右側に緑色のチェックがなされていることを確認します。
「スクリプトの実行」の出力でresultが表示されていることが確認できればOKです。
取得した配列に対して1件1件処理を行う
次に取得したメールアドレスの配列に対して1件ずつ処理を行うことを考えます。
1. 検索ボックスで「Apply」を入力すると「コントロール」コネクタが表示されるので、アクションの「Apply to each」をクリックする。
Apply to Eachは配列を一つずつ処理する際に使います。
VBAでいう「For Each~Next」に当たります。
2. 「以前の手順から出力を選択」にて「動的なコンテンツの追加」をクリックし、「result」を選択する。
この「result」がOffice Scriptsの戻り値となります。
動的なコンテンツとはPower Automateのアクションで生成された変数のことです。先ほどの「スクリプトの実行」によって生成した3つの変数が記載されています、Power Automateでは自動で作成してくれるので便利です。
3. 「アクションの追加」をクリックする
4.検索ボックスで「Outlook」を入力すると「Office 365 Outlook」コネクタが表示されるので、アクションの「メールの送信(V2)」をクリックする(V2はver2の略だそうです。こちらにしてください)
5. 宛先にApply to Eachアクションで生成した「現在のアイテム」を選択する。配列中の1件のアドレスに対してOutlookでメール送信する
あわせて件名や本文は好きなものを入れます。
最後にテスト実行を行います。
先ほどと同じ操作により、手動テストを実行します。
結果としてOutlookに以下のメールが届いていればOKです。
今回のまとめ
今回はリマインドメールの自動化についてPower Automateによる自動化について説明しました。
Power Automateは自動化処理が行える便利なツールです。
各ブロックの内容が最初はわかりにくいかもしれませんが、VBAの基礎があれば理解は早いので安心してください。
より早く理解する為には以下の書籍もおすすめします。
Power Automateを一から触る方にお勧めの書籍です。Power Automateって何?というところから操作方法まで詳しく説明してくれています。他のアプリとの連携まで詳しく書かれています。
Office Scriptsを一から学んでみたい方は以下の書籍がお勧めです。TypeScriptの基本からPower Automateへの連携まで、OfficeScriptsを扱う為必要なすべての内容が書かれています。
コメント