はじめに
このようなケースでの利用を想定しています
- ユーザーIDと初期パスワード一覧をExcelで管理している
- 一人一人に各自が利用するユーザーIDと初期パスワードを配布したい
- IDと初期パスワード以外の定型文は全員同じ
今回は、一人一人にIDと初期パスワードを書いた紙を配布する、というシナリオを考えます。
(IDとパスワードを紙で配布することの是非はありますが、ハンズオン研修などその場限りのID/パスワードの提供を今回は想定しています)
Excelの準備
このように、ユーザー名と初期パスワードの一覧表があるとします。
これをPower Automateで利用するために、以下の準備をします。
- User IDとPasswordが含まれた表を「テーブル」として定義する
- ExcelファイルをOneDrive または SharePoint Onlineに保存し、Power Automateからアクセスできるようにする
OneNoteの用意
Power Automateから直接印刷することはできないので、いったん、データとして出力します。今回はOneNoteを利用します。
準備として、OneNoteに、今回のデータを収めるセクションを作成しておきます。ノートは作成しません。
(こうすることで、後程セクション内の全ノートを印刷することができます。)
フローの作成
Power Automateでフローを作成します。今回は手動でしか実行しないので、トリガーは「手動でフローをトリガーします」を使います。
Excel Online(Business)コネクタから、「表内に存在する行を一覧表示」を選びます。
今回はExcelのデータをOneDrive上に保存したので、場所を「OneDrive for Business」と指定し、保存したファイルを選び、テーブルの名前を選択します。
続いて、OneNoteの「セクションにページを作成」アクションを選びます。
ノートブックキーには、先ほど空のセクションを作ったノートブックの名前を入れます。ノートブックのセクションは、先ほど作成した空のセクションそのものを指定します。
今回は、OneNote内に表を埋め込みたいのですが、標準のリッチテキストエディタでは表を扱えないため、htmlを直接記述できるモードに切り替えます。
ベースとしてこのようなHTML文を用意します。
<html>
<head>
<title>研修用O365 アカウント</title>
<meta name="created" content=""/>
</head>
<body>
<p>あなたのユーザー名と初期パスワードはこちらです</p>
<table border="1">
<tr>
<td>
ユーザー名
</td>
<td>
</td>
</tr>
<tr>
<td>
初期パスワード
</td>
<td>
</td>
</tr>
</table>
<p>※ 初回ログオン時に各自のパスワードに変更してください</p>
</body>
</html>
これを先ほどのOneNoteアクションのページコンテンツに書いたうえで、ユーザー名や初期パスワードにExcelから読み込んだ値を当てはめていきます。
ソースで書くとこのようになります。
<html>
<head>
<title> @{items('Apply_to_each')?['User ID']}研修用 アカウント</title>
<meta name="created" content="@{formatDateTime(addhours(utcnow(),9),'yyyy-MM-dd')}"/>
</head>
<body>
<p>あなたのユーザー名と初期パスワードはこちらです</p>
<table border="1">
<tr>
<td>
ユーザー名
</td>
<td>
@{items('Apply_to_each')?['User ID']}
</td>
</tr>
<tr>
<td>
初期パスワード
</td>
<td>
@{items('Apply_to_each')?['Password']}
</td>
</tr>
</table>
<p>※ 初回ログオン時に各自のパスワードに変更してください</p>
</body>
</html>
このうち、
<meta name="created" content="@{formatDateTime(addhours(utcnow(),9),'yyyy-MM-dd')}"/>
の部分はOneNoteの作成日にあたる部分で、フローを実行した日時を日本時間に直して入れるようにしています。
フローの実行
フローを実行すると、OneNoteに複数のページが作成されています。
印刷
生成されたOneNoteのページをセクションごとまとめて印刷します。今回はPDFに出力してみます。
(試した限り、この操作はOneNote Onlineだと利用できず、デスクトップクライアントが必要になります)
これで、ユーザーごとのIDとパスワードの一覧が出来ました。
終わりに
Excelなどのテーブルデータを元に定型文章を作るフローは、強力かつ効果が分かりやすいものだと感じており、個人的には好きな使い方の一つです。
今回は印刷しましたが、メールで個々の情報を送信するケースでも便利だと思います。ぜひ活用してみてください。