PowerAutomateで複数の宛先にメールを送信する方法
最近業務の効率化のためにPowerAutomateを使ってます。MS/Office365に支配された僕たちの日々の業務を効率化をしようと考えるときに、他の手段はいろいろあるもののPowerAutomateってやっぱり第一選択になると思うんですよね。(まぁそんなに使い続けているわけではないので、そのうちかゆいところに手が届かなくなるかもしれないですが)
で、使ってて全然複数の宛先にメールが遅れなくてうーんって思ってたんですけど、最近解決したので共有します。
どんなことに困っていたか
エクセルからメールアドレスのリストを取得して、それらを宛先にメールを作る、ということをやりたかったので、図のように指定しました。
メールの宛先には、「動的なコンテンツを指定」→「”メールアドレス”を指定」とした結果が図です。
何が問題かというと、Apply to eachになっちゃってるので、勝手にFor eachのループになっているわけです。このままメールを送ると何が起きるかというと、メールアドレスが3つあったとすると3通のメールがそれぞれに送られることになります。
まぁ別にいいんですけど、誰が宛先になっているかって気になることありますよね。なので、解決策を探しました。
どうしたか
全体の流れはこんな感じです。(OneNoteの参照はメールの本文取得しているだけなので無視してください。)
何をやっているかというと、
変数を初期化する:配列の変数作って
Apply to each 2:メールアドレスを順々に配列に追加して
結合:配列の変数を";"で結合して
メールの送信:宛先に結合結果のテキストを入れる
という手順です。
Apply to each 2の中身はこんな感じです。メールアドレスでFor eachして、testという変数に格納していく感じです。
まとめ
これで無事動きました。が、ちょっとやっぱり癖ありますよね、エクセルのデータを使うのにいったん「データの作成」やらなきゃいけないところとか。
もっといいやり方あるかもしれませんので、見つけたらまた投稿します。