【PowerAutomate】Excelのデータをメールで送信する。

スポンサーリンク




作業を自動化する
  • プログラミングは分からないけど自動化したい
  • PowerAutomateの使い方がイマイチ分からない
  • Excelファイルのデータを読み取りメールで送りたい

無料ツールでさらにノンプログラミングで自動化ができるならぜひやってみたい!

この記事では、そんな方に向けてOneDriveにあるExcelのデータを取得してメールで送信する方法を3ステップで説明します。

  1. Excelにテーブルを設定
  2. フローを作成
  3. 日付の変換処理を追加

まだPowerAutomateを使った事が無いという方はこちらの記事を参考にしてください。

PowerAutomateはブラウザで操作するのでインストール無しで利用できます。Windows10ではないMacユーザも自由に使えます。

私がPowerAutomateの勉強で実際に読んだ本を紹介します。

スポンサーリンク

Excelにテーブルを設定

デスクトップ版クラウド版どちらもExcelのデータを取得できますが、参照方法に違いがあります。

デスクトップ版 :デスクトップPCから開けるファイルで、セルやシートを自由に選択できる。
クラウド版   :OneDriveやShearPointOnlineなどクラウドのファイルで、テーブルしか選択できない。

クラウド版はテーブルしか選択できないんです。テーブルというのは表と同じ意味で普段のExcelの使い方と変わりません。ただ、表を「テーブル」として指定してあげる必要があります。最初に表をテーブルにする方法から説明をはじめます。

表の範囲を選択して「挿入」-「テーブル」と押します。

チェックを入れて「OK」を押します。

表がテーブル形式になり色が付きました。
初期のテーブル名は「テーブル1」です。他のテーブル名と被りやすいので変更しておきます。

ツールバーの「デザイン」からテーブル名を表示させ「申請台帳テーブル1」を入力します。
そしてダミーデータを入力しておきます。

クラウド版PowerAutomateから参照できるようにOneDriveへ保存します。

これでExcelの準備ができました。

フローを作成

フローはトリガーとアクションで構成されます。今回は3つを組み合わせて作ります。

  • トリガー:手動のトリガーを設定
  • アクション:Excelの行を取得
  • アクション:Outlookでメール送信

それではフローを作っていきましょう。

(1)トリガー:手動のトリガーを設定

まだ画面を開いていない方はMicrosoftの公式サイトからPowerAutomateを開いてください。

「作成」から「インスタントクラウドフロー」を選択。
※手動で実行できるフローにします。

フロー名を「Excelの情報をメール送信」にして、
「手動でフローをトリガーします」を選択します。

(2)アクション:Excelの行を取得

新しいステップを選択。

Excelと入力して表示された「Excel Online(OneDrive)」を選択します。

行を入力して「行の取得」を選択。

ファイルには「申請管理台帳.xlsx」を設定。

テーブルは「申請台帳テーブル1」を設定。

キー列に「作業状況」を設定。

キー値に「未完了」を入力。

「新しいステップ」をクリック。

(3)アクション:Outlookでメール送信

Outlookを入力して「Outlook.com」を選択。

「メールの送信」を選択。

宛先の「動的なコンテンツ」を選択。

「メールアドレス」を選択。

件名と本文を入力。

件名:作業日の連絡
本文:文章を入力して「作業日:」の後に動的なコンテンツの「作業予定日」を選択。

続けて、「申請書名:」と入力して、動的なコンテンツの「申請書名」を選択。

文章を入力し終えたら、保存を押します。

これでフローは完成ですが、1つ問題があります。
Excelから取得した日付が正しく表示されません。

2022/7/15と表示させたい部分は「44757」の数字になります。この問題を解消する為に次の項目で日付の変換処理を説明します。

スポンサーリンク

日付の変換処理を追加

行の取得とメールの送信の間に2つアクションを追加します。

時間への追加 :「44757」の数字を日付に変える
データ操作  :日付をyyyy/mm/ddの形式にする

それでは進めていきましょう。
行の取得とメールの送信の間にある+マークから「アクションの追加」を選択します。

コネクタ「日時」の「時間への追加」を選びます。
①で日時と入れて③のアクションが表示されていれば②を選択する必要はありません。

3か所を設定します。

  • 基準時間:1899/12/30
  • 間隔  :[作業予定日]
         「動的なコンテンツ」から「作業予定日」を選択する。
  • 時間単位:日

時間への追加とメールの送信の間にある+マークから「アクションの追加」を選択します。

コネクタ「データ操作」の「作成」を選びます。
①でデータ操作と入れて③のアクションが表示されていれば②を選択する必要はありません。

データ操作の作成では関数を使い日付の形式を変更します。

変更前

変更後

ここからは式を作成する操作を説明しますが、分かりにくいので先に結果を記載しておきます。

formatDateTime(body(‘時間への追加’),’yyyy/MM/dd’)

「動的なコンテンツ」から「式」を選択

formatと入力して「formatDateTime」を選択。
※細かい操作が面倒な方は「formatDateTime(body(‘時間への追加’),’yyyy/MM/dd’)」を入力してOK押します。

formatDateTimeの後ろに ( を入力します。※自動で ) が入力されます。

動的なコンテンツから「算出時間」を選択します。

と表示されます。

式の続きに「,’yyyy/MM/dd’」を入力します。

formatDateTime(body(‘時間への追加’),’yyyy/MM/dd’)

上の式と同じになっている事を確認してOKを押します。

最後にメールの本文を修正します。

作業予定日を×で削除します。

動的なコンテンツから「出力」を選択。

保存を押します。

保存できたら、マイフローから実行ボタンを押して動かします。

届いたメールの内容です。

Excelから情報を取得して作業予定日をメールで送ることができました。

まとめ

OneDriveにあるExcelのデータを取得してメールで送信する方法を3ステップで説明しました。

  1. Excelにテーブルを設定
  2. フローを作成
  3. 日付の変換処理を追加

Excelは表をテーブルに設定する必要がありました。またExcelから日付を取得する場合は、変換処理がセットで必要になる事も覚えておきましょう。

PowerAutomateの記事まとめ
まだ試してないアクションがあれば見ておきましょう。
初心者向け
【初心者向け】PowerAutomateの使い方。無料で誰でも使えます。
基本的なアクション
【PowerAutomate】メールの添付ファイルをOneDriveへ保存する。
【PowerAutomate】Excelのデータをメールで送信する。
【PowerAutomate】メールを受信したらExcelにデータを入力する。
アクションの応用
【PowerAutomate】第1~5○曜日の日付を求める。
【PowerAutomate】メール本文から名前を抽出する。文字列抽出のキホン。
【PowerAutomate】ソートするフローを作る。配列の並べ替え。
【PowerAutomate】SharePointのリストから列と行をフィルターして表にする。
【PowerAutomate】ExcelからSharePointのリストに一括転記する
【PowerAutomate】SharePointのテキストファイルに改行を付けてメール送信
関数・アクション
【PowerAutomate】日付の関数まとめ。月末月初やExcelシリアル値変換など。
【PowerAutomate】Apply to eachの使い方。勝手に出てくる原因や遅い時の高速化など!

今の勉強法に満足していますか?
やりたい事はネットで調べてなんとか対処しているという方が多いと思います。

私も元々はネットから情報を得ていましたが、知識が少な調べる事ばかりで作業が進まなく悩んでいました。一度専門書を買ってみると勉強に集中できネットより遥かに理解が早かったと感じました。

とはいっても何冊も本を買うとお金も場所も取ります。そこでAmazonが提供するKindle Unlimitedという読み放題のサービス。PCやスマホどちらでも使え、月額980円で毎月1~2冊読めば元がとれたので本代の節約になりました。

>>Kindle Unlimitedへ登録する

確かにネットの情報量は多いのでほしい情報は見つかります。でも、ネットで自分の求めている情報を探すのは時間がかかります。気になる事を都度調べるのは効率悪くないですか?

ではどうしたらいいのでしょうか。

それは基礎知識を学ぶ事です。
専門書は初心者向けから上級者向けまでレベル別で出版されているので、求めている内容がそこにありました。

Kindle unlimitedはラインナップが勝手に変わるという予測できない点はありますが、読みたくなった今すぐに読める点が私にはドハマりでした。

初回30日無料なので今すぐに読みたい本がある方はお試しでも利用できます。Kindle Unlimitedは200万冊以上の本が読めるそうです!

ネットの検索時間から解放され、本来の目的に集中しましょう。

\30日間無料/

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