デスクワークを超絶快適にするおすすめギアたち

Power AutomateでメールにMicrosoft Listsの表を挿入する方法

【当サイトはプロモーションを含んでいます】

じょじお

Power Automateを使って、Microsoft Lists(Sharepointリスト)の表からHTMLテーブルを作成してメール本文に挿入する方法について解説します。

ぽこがみさま

Microsoft Listsの解説は下記の記事で解説していますので、よろしければご参考になさってください。

Microsoft Lists
Microsoft Listsのサンプル

▲今回はこちらのテスト用のリストを使って解説します。

目次

Power AutomateでHTMLテーブルの作成に必要なアクション

Power AutomateでHTMLテーブルの作成に使用するアクション

下記の3つのアクションを使います。

下記の3つのアクションを使います。

  • 「複数の項目の取得」アクション
  • 「HTMLテーブルの作成」アクション
  • 「Outlookメールの送信」アクション

フロー作成手順の流れ

手順

  1. 「複数の項目の取得」アクションでMicrosoft Listsのデータを取得します。
  2. 取得したデータをもとに、「HTMLテーブルの作成」アクションにてHTMLテーブルを作成します。
  3. 作成したHTMLテーブルをメール本文に挿入します。

「複数の項目の取得」アクションの設定

フローを作成します。今回はテストとして、インスタントクラウドフローの「モバイルのボタンを押したとき」をトリガーにして新しいフローを作成しました。そこに下記を追加します。

STEP
「複数の項目の取得」アクションを追加します。
Power Automate

▲新しいステップをクリック

Power Automate

▲Sarepointコネクタをクリックします。

Power Automate

▲「複数の項目の取得」アクションを追加します。

STEP
「複数の項目の取得」アクションのパラメータを設定します。
Power Automate

▲「複数の項目の取得」アクションのパラメータを下記を参考に入力します。

  • サイトのアドレス
    • Microsoft Listsが保存されているSharepointサイトを選択します。
  • リスト名
    • Microsoft Listsの名前を選択します。
  • フィルタークエリ
    • 行をフィルターしてデータを取得します。
  • 並び替え順
    • 昇順・降順で並び替えしてからデータを取得します。
  • 上から順に取得
    • 数値を指定して上位何番目のデータを取得するか指定します。10と指定すると10行目までを取得します。
  • ビューによる列の制限
    • Microsoft Listsに事前に設定済みのビューを使用して列を絞ってデータを取得します。

▼フィルタークエリの指定方法と、並び替え順の指定方法は下記の記事で解説していますのでそちらをご覧ください。

フィルタークエリを空欄にすると警告が表示されます。
Power Automate フィルタークエリの警告

▲テストの時は問題がないかと思いますが、フィルタークエリを空っぽにすると動作はするものの、フローの保存の時に図の警告メッセージが表示されます。パフォーマンスの低下の原因となるためフィルタークエリは本番環境では指定しましょう。データ量が多い時は特に注意してください。

「HTMLテーブルの作成」アクションの設定

STEP
HTMLテーブルの作成アクションを追加します。
Power Automate

▲新しいアクションを追加します。

Power Automate

▲データ操作コネクタをクリックします。

Power Automate

▲HTMLテーブルの作成アクションをクリックします。

STEP
「開始」欄に「複数の項目の取得」の出力値「value」を入力します。
Power Automate

▲「開始」欄のテキストボックスの中の動的コンテンツをクリックします。

Power Automate

「複数の項目の取得」の出力値「value」を選択します。似たような値として「body」がありますが、こちらはオブジェクト型の変数となるためこのアクションで使用することができません。こちらを選択するとエラーになってしまいますので注意してください。

STEP
「列」の値を入力します。
Power Automate

▲「列」欄をクリックして「カスタム」をクリックします。

Power Automate

▲表を作成します。左側のヘッダー欄は任意のヘッダー名を設定します。右側にヘッダーに対応するデータを「動的コンテンツ」から選択します。

今回のデータはテーブルが7列あるのですが、そのうち3列だけピックアップして表を作成してみました。

「列」の値は手動設定しましょう!

「列」の値を「自動」にすることは、オススメしません!

今回のように列を絞らずに、リストの列すべて使う場合、「自動」を選択してしまいがちですが、ココを自動にするとメタデータまで含んだ非常に冗長的な見づらい表になってしまいます。(下図)

Power Automate
列を自動にして出力したHTMLテーブル
ぽこがみさま

余計な列が増えているし、ヘッダーに日本語の列名を使っている場合、列名が記号の羅列になってしまい非常にみづらいですね。

Outlookメールの作成

CSSとHTMLテーブルの挿入

STEP
「メールの送信」アクションを追加します。
Power Automate

▲Outlook365コネクタを選択します。

Power Automate

▲メールの送信アクションを追加します。

STEP
コードビューモードに変更します。
Power Automate

HTMLタグを埋め込むためにコードビューモードにします。本文のところのコードビューアイコンをクリックして、

STEP
メールの設定をします。
Power Automate

▲図のように宛先、件名、本文を挿入します。本文には「HTMLテーブルの作成」の出力変数を挿入します。

また、表の見た目を整えるために、CSSをメール本文の最初に指定しました。

<style type="text/css">
    table th{/*header color*/
        background: yellow;
    }
    table th, table td {
        border: solid 1px black;
    }
</style>

テスト実行結果

じょじお

下図のようにメール本文にHTMLテーブルを挿入できました。

Power Automate HTMLテーブルの作成

▲合計価格の小数点以下の桁数がおかしいですね・・・・。これはまた別の機会に修正してみたいと思います!

HTMLテーブルをTeamsにも送信したい場合は?

Teamsにも送信してみたのですが、送信したメッセージを見ると下記のように罫線が消えてしまいました。

Teams

▲コピペしてテキストエディタに張り付けてみると表組みにはなっていましたので、CSSがうまいこと適用されていないようです。CSSを変更してみたらいくのかな?それともマークダウン記法で試してみるか・・・。こちらはまた別の機会にトライしてみたいと思います!

追記2021/09/29

Teamsコネクタからメッセージを送信するのではなく、メールでTeamsのチャネルのメールアドレスに送信すると表が綺麗に表示されました

メールからTeamsにHTML表を送信する。

具体的には上で紹介したOutlookメール送信アクションの宛先メールアドレスに、チャネルのメールアドレスを含めます。複数のメールアドレスを指定する場合は、メールアドレスを「;」セミコロンで区切ってくださいね。

Teamsのチャネルのメールアドレスの取得方法については下記の記事で紹介していますのでご覧ください!

まとめ

じょじお

Microsoft Lists(Sharepointリスト)をHTMLテーブルに変換してメール本文に挿入する方法について解説しました。

  • Microsoft Listsの情報を取得するには「複数の項目の取得」アクションを追加する。
  • HTMLテーブルを作成するには、「HTMLテーブルの作成」アクションを追加する。
  • 行で情報を絞るには、フィルタークエリを使用する。
  • HTMLテーブルの作成アクションで必要な列だけを抽出する。
ようやく出た!SharePoint解説本

▲Microsoft Lists(Microsoftリスト)、Sharepoint Lists(Sharepointリスト)・Sharepointサイト・OneDriveなどを徹底的に解説している書籍です。情報量が多く、Microsoft365管理者・一般ユーザ・初心者・中級者以上まで幅広くカバーしているかなと思います。Kindle版はレイアウトがきれいでスマホでも読みやすいです。

Power Automate学習教材

Power AutomateをKindleで学びたい方はコチラ
¥2,200 (2024/11/17 18:55時点 | Amazon調べ)

▲Kindleと紙媒体両方提供されています。デスクトップフロー、クラウドフロー両方の解説がある書籍です。解説の割合としてはデスクトップフロー7割・クラウドフロー3割程度の比率となっています。両者の概要をざっくり理解するのにオススメです。

Power Automate for Desktopの基本をしっかり学習するのにオススメです。この本の一番のメリットはデモWebシステム・デモ業務アプリを実際に使ってハンズオン形式で学習できる点です。本と同じシステム・アプリを使って学習できるので、本と自分の環境の違いによる「よく分からないエラー」で無駄に躓いて挫折してしまう可能性が低いです。この点でPower Automate for desktopの一冊目のテキストとしてオススメします。著者は日本屈指のRPAエンジニア集団である『ロボ研』さんです。

¥2,750 (2024/11/21 07:41時点 | Amazon調べ)

Power Automate クラウドフローの入門書です。初心者の方には図解も多く一番わかりやすいかと個人的に思っています。

Microsoft 365/ Power Automate / Power Platform / Google Apps Script…

Power Automateを動画で学びたい方はコチラ

▲Udemyで数少ないPower Automateクラウドフローを主題にした講座です。セール時は90%OFF(1200円~2000円弱)の価格になります頻繁にセールを実施しているので絶対にセール時に購入してくださいね。満足がいかなければ返金保証制度がありますので安心してご購入いただけます。

お役に立てたらシェアお願いします!
  • URLをコピーしました!
  • URLをコピーしました!
目次