"Power Automate" にカテゴリー登録されている11 投稿

[Office Scripts] Excel 内のデータを使って SharePoint ライブラリのプロパティを自動設定しよう

SharePoint のドキュメント ライブラリでは任意のプロパティを持たせることができます。これにより、ファイル名からだけだと内容が推測できない場合も、プロパティを見ればおよそ内容が把握できるようになります。このプロパティの値は、ファイルをアップロードするたびにユーザーがつど設定する必要があり、なかなか面倒です。

2020-12-17_23-52-15

たとえば、 Excel のファイルを例に、SharePoint のライブラリに Excel ファイルがアップロードされたら、自動的にファイルの内容を読み取って必要な情報をプロパティに設定してもらえるようにしたい。

そこで登場するのが Office ScriptsPower Automate です。

🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄

なお、この記事は Office 365 Advent Calendar 2020 に参加しています。

🎅 Office 365 Advent Calendar 2020 🎅

🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄🎄

Office Scripts は Web用の Excel (Excel Online) 上で利用できるスクリプトであり、TypeScript で記述します。これと Power Automate を組み合わせると実に様々な処理が可能です。とはいえ、Office Scripts を利用するには Office 365 E3 または E5 のライセンスが必要であり、テナントレベルで機能がオンになっている必要があります。既定でオンになっていますが、テナント管理者のさじ加減で設定がオフにされていることもあるので、組織内で確認してください。また Office Scripts は 2020 年12月、現在まだプレビューの状況です。

実際の動作を確認するためにデモンストレーションと構築方法をビデオで公開しました。詳しくは次のビデオ (YouTube) をご参照ください。

ビデオの補足情報

SharePoint サイト側では任意のドキュメント ライブラリを用意します。このデモでは次の列を4つ追加しています。

  • 見積金額…通貨
  • 組織名…1行テキスト
  • 部署名…1行テキスト
  • 担当者名…1行テキスト

Excel は次のサンプルファイルを用意しています。類似したファイルを用意して試すとよいでしょう。

2020-12-18_0-00-13

Office Scripts は次のようなスクリプトを用意しています。

2020-12-18_0-03-06

これを次のような Power Automate のフローで呼び出します。

2020-12-18_0-11-29

 


Power Automate, Power Apps と Excel を利用したローン返済シミュレーションアプリ開発 (LogicFlow-ja #3 勉強会)

先日の勉強会の資料と録画が公開されているのでここに共有しておきます。

まずは私が登壇した内容は下記の通りです。

タイトル : Excel と SharePoint を組み合わせローン返済アプリケーションを作成する (Power Apps + Power Automate)

概要 : Microsoft Graph API を使って、SharePoint に格納している Excel ファイルを高度な計算を行うためのリソースとして利用し、Power Apps と Power Automate を使ってローン返済アプリを作ってみます。もともとオンプレミスのSharePoint のころに Excel Web Services や InfoPath を使ってデモをしていた内容を、Power Platform を使って置き換えてみるとどうなるだろうという実験でもあります。
マニアックですが、実務的に応用できる内容にしています。ご興味のある方は是非どうぞ!!

YouTube

スライド

 
その他の当日の勉強会の録画ビデオ
今回の勉強会も、他のセッションも含め魅力的なものばかりでした。
一連の内容がYouTube に公開されていますので、そちらもどうぞ。
 

【宣伝】

オフィスアイ株式会社では Power Automate を利用する方に対して、一歩ステップアップするためのオリジナルの研修コースをご用意しています。

⇒ 業務効率を向上させる Power Automate 実践演習

 


Power Automate を使って予定表リスト(イベントリスト)から Microsoft Teams 会議を作成する

Power Automate に「Teams 会議の作成(プレビュー)」アクションが追加されました。

Teams会議の作成

従来でも Power Automate を使った Teams 会議の作成は Microsoft Graph API を使えばできたのですが、プレミアムコネクターが必要なのと、Graph APIの管理自体のハードルがあり手軽とは呼べませんでした。しかし、この機能の追加によって、いろいろな場面で利用できそうです。

SharePoint の予定表リスト(イベント リスト)

SharePoint には組織内の出来事を登録しておくための予定表リスト(徐々にイベント リストという呼び名に変わってきていますが)があります。このリストはモダンサイトでは「イベント」Webパーツを追加し、そこからアクセスすることでモダンUIとして利用できるようになっています。

このリストアイテムには次のようにオンライン会議のURLを追加する場所があるのですが、これは予め何かしらのシステムで作成した会議のリンクを追加するところであり、自動的に Teams 会議を作成してくれるわけではありません。

Teams会議の作成-Setup-01

また下記のようにユーザーを追加する場所がありますが、追加したユーザーの連絡先はホバーカード上に出てくるものの、会議が自動作成されない以上、わざわざここに出席者を入れることはしないことの方が多いでしょう。

Teams会議の作成-Setup-08

そこで、Power Automate を使って会議を自動生成してみることにしました。前から案はあったのですが前述の通りGraphを使うところの手軽でないところが難点でした。

さて、作り方です。作成したフロー全体図は次の通り。

Teams会議の作成-Setup-02

まずSharePointの「項目が作成されたとき」トリガーから始めます。このとき、予定表リストはリスト名の候補に出てこないため手動で登録する必要があります。私の使っているリスト名は「イベント」です。

Teams会議の作成-Setup-03

次に開始時間と終了時間を格納する文字列変数を用意します。

Teams会議の作成-Setup-04

値は次のような式を書き、UTC時間を日本時間に変換しておきます。

convertFromUtc(triggerOutputs()?['body/EventDate'],'Tokyo Standard Time',
'yyyy-MM-ddTHH:mm:00')

終了時間の場合は次の式です。

convertFromUtc(triggerOutputs()?['body/EndDate'],'Tokyo Standard Time',
'yyyy-MM-ddTHH:mm:00')

次に参加者のメールアドレスを格納するための配列変数を用意します。

Teams会議の作成-Setup-05

これを Apply to each でトリガーから取得した出席者を取り出し、一つずつ格納していきます。

Teams会議の作成-Setup-06

次に「データ操作 - 参加」アクションを使って、配列内のデータをセミコロンで文字列連結します。

Teams会議の作成-Setup-10

次にいよいよ「Teams 会議の作成」アクションの登場です。件名やメッセージは SharePoint のトリガーから取得したものを設定します。

timeZone は Tokyo Standard Time。とはいえ、このタイムゾーンに従って、UTC時間から開始時刻や終了時刻を日付を変換してくれるわけではないので、あらかじめ日本時間を取得しておく必要があります。そのためフロー最初のところでタイムゾーンを変換した日時を編集に格納しました。ちなみに、SharePointから取得する日付データというのは、基本的にUTCです。

Teams会議の作成-Setup-07

最後はSharePointコネクターの「項目の更新」アクションを追加し、SharePoint 予定表リストのアイテムに Teams 会議への参加リンクを追加するだけで完了です。

会議のリンクを追加する項目は「ワークスペースのURL」であり、ここに「Teams会議の作成」アクションの「joinUrl」追加します。

Teams会議の作成-Setup-09

以上で完成!

動作イメージは次の通りです。

 

【宣伝】

弊社では Power Automate の中級向けのコースとして「業務効率を向上させる Power Automate 実践演習(OH-O365-205)」を定期開催しています。

またMicrosoft 365 のSharePoint を基礎からきっちり学びたい方は、各種コースを取り揃えています。詳しくは下記のリンク先までどうぞ。

Microsoft 365 関連コース一覧

 

 

 

 

 


勉強会登壇のお知らせ( LogicFlow-ja) - 2020/8/29 開催

下記日程で開催される LogicFlow-ja コミュニティ主催のイベントで登壇いたします!

オンラインで参加費も無料ですし、せっかくなのでブログでも告知することにしました。

124355e25d1d7313ba005860bb7ea09e

開催日程: 2020/8/29 (土曜日) 12:30 ~

詳細 : リンク

LogicFlow-ja コミュニティは Azure Logic Apps と Power Automate に関する日本のコミュニティです。Facebook にコミュニティが作られているので、そちらもどうぞ。

Facebook : https://www.facebook.com/groups/logicflowja

私の登壇内容は以下の通りです。

**************************************

タイトル : Excel と SharePoint を組み合わせローン返済アプリケーションを作成する (Power Apps + Power Automate)

概要 : Microsoft Graph API を使って、SharePoint に格納している Excel ファイルを高度な計算を行うためのリソースとして利用し、Power Apps と Power Automate を使ってローン返済アプリを作ってみます。もともとオンプレミスのSharePoint のころに Excel Web Services や InfoPath を使ってデモをしていた内容を、Power Platform を使って置き換えてみるとどうなるだろうという実験でもあります。
マニアックですが、ご興味のある方は是非どうぞ!!

**************************************

と、自分の登壇だけ説明してしまいましたが、コミュティでは毎回、魅力的な内容で勉強会をされています。

今回も多くのスピーカの方が興味深いセッションを数多く実施されることになっています。詳しくは上記リンクをご参照ください。

ちなみに、オンライン開催になるまではオフラインで勉強会をされていたのはずっと存じ上げてはいたのですが、子供も小さく、なかなか参加する時間はとれなかったのですが、オンラインになればこのあたりの融通がしやすくなるのは嬉しいところですね。

ということで、ご都合のつく方はどうぞ~😊


Microsoft 365 メッセージセンターと Planner と Power Automate

Microsoft 365 管理センター内にある「メッセージセンター」にはテナントに今後展開されてくる新機能などのアナウンス数多くが届きます。対処が必要なものもあれば、そうでないものもあります。管理者としては、設定が必要なものはそこからタスクを管理していく必要がありますし、場合によってはユーザーへの周知をすること自体がタスクとなり得ます。

そこで新機能として比較的最近追加されたのが Planner との同期設定です。これを設定することで、Power Automateの仕組みを使って定期的にメッセージをタスクとして自動登録できるようになります。

Planner 同期 - 01

設定はとても簡単。管理者の方はもちろん、Power Automate を利用している方はソリューションの一つの例として捉えておくとよいだろうなと思っています。

手順についてはスクリーションショットを並べておきましょう。テナントの管理者が構成します。

Planner 同期 - 02

タスクの作成先となるプランとバケットを指定。

Planner 同期 - 03

同期対象となるメッセージを選択する。

Planner 同期 - 04

構成後、すぐにインポートできるようになっており、その際に最大28日前のメッセージから取り込める。

Planner 同期 - 06

確認したら[完了]をクリックする。

Planner 同期 - 07

初回以降は定期的に同期することになるため、そのタイミングを指定し Power Automate を構成していくことになる。

Planner 同期 - 08

とはいえ、Power Automate 側の構成は[フロー作成]をクリックすることで自動で行われる。

Planner 同期 - 09

あっという間に構成完了。

Planner 同期 - 11

同期の設定を変更する場合はメッセージセンターから再度[Planner の同期]をクリックすればよい。

Planner 同期 - 12

これで Planner 側にメッセージがタスクとして同期されるようになります。

Planner 同期 - 13

ところで、自動作成されたフローはどうなったのでしょうか。Power Automate の画面で確認しましょう。

フローは既定の環境に「チームフロー」として作成されます。

Planner 同期 - 14

フローの内容は次のようになっており、非常にシンプルです。

Planner 同期 - 15