[Teamsと連携!]チームのメンバー一覧をExcelに書き出したい

## チームに入っているメンバーをExcelに書き出す
Microsoft Teamsでチームを作成し、利用が進むと「このチームって今誰が入っていたかな、Excelで表示出来ないだろうか」と思うシーンが出てきませんか？
特に人数が多いチームだと、メンバーの棚卸しの目的で、そんなご要望もあるかもしれません。
Power AutomateにはTeamsのコネクターが用意されていますが、2022年3月の時点で「メンバーの一覧取得」というアクションは見当たりませんので、代わりに、チームを作成した際に背後で作られている「Microsoft 365 Groups」のメンバーを取得する事でこちらを実行してみましょう。

流れとしては以下のようになります。
1. ウェブ版のExcelに空のExcelファイルを用意する
1. Microsoft 365 Groupsにアクセスして、グループメンバーの一覧を取得
1. ループ処理によって、メールアドレスと表示名をExcelに書き込む


## まずExcelファイルをる
ウェブ版のExcelで、取得したメンバーを入れるための空のファイルを作成しましょう。ブラウザで、[ウェブ版のExcelにアクセス](https://www.office.com/launch/excel?auth=2)します。ログインを求められたら、Microsoft 365のアカウントでサインインし、「新しい空白のブック」を選択して新規ファイルを作成します。ここに作成したファイルは、個人のOneDrive for Businessに自動保存されます。

ファイルの中の2列を選択して「テーブルとして書式設定」を選ぶ事で、テーブルを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1516172/51a15972-214f-543e-3477-9c52e117944d.png)

ファイル名をmembersと変更しておきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1516172/d36fb69b-fa94-0ed5-29c1-75378e16a296.png)

## Power Automate側作業を開始！
では、Power Automate側の作業に入りましょう。いつものように[Power Autoamteのページ](https://japan.flow.microsoft.com/ja-jp/)にログインしてから、インスタントクラウドフローを作っていきましょう。
「手動でフローをトリガーします」としてから新規のクラウドフローを作成します。[細かいステップはこちらの記事を参照](https://qiita.com/Asuka_Nagamine/items/a68c9e33baa3dc4ff482#power-automate%E3%81%A7%E3%81%93%E3%81%AE%E3%83%A1%E3%83%B3%E3%83%90%E3%83%BC%E3%82%92%E3%83%81%E3%83%BC%E3%83%A0%E3%81%AB%E8%BF%BD%E5%8A%A0)して下さい。
「新しいステップ」ボタンを押して、アクションを追加していきます。
「Group」と検索すると、「Office 365 Groups」に関連したアクションが表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1516172/18fde304-ddb5-3ba7-38b0-9c09a9a12db8.png)
Office 365 Groupsを選び、表示されたアクションの中から「グループメンバーの一覧表示」を選びます。
下の図ような流れになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1516172/7ae65087-1547-b4b0-6b6f-ebba33757c1f.png)
グループIDは、プルダウンから選びたいチーム名を選択して下さい。「詳細オプションを表示する」をクリックすると、「上」と出てきますので、そこに読み込むメンバーの上限値を指定します（「上」という翻訳は…）。今回は大量のメンバーが入っているチームを想定して999と最大値を設定していますが、明らかにメンバーが30名程度だと分かっている場合には、ここの数字は変更しなくて大丈夫です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1516172/8d829310-ca4d-ae17-52cb-22cc60fdee17.png)
「ステップを追加」ボタンを押して処理を追加していきましょう。「コントロール」から「Apply to each」を選びます。前のステップで取得したグループメンバーの一覧の一つ一つに対してループ処理を行う、という指示です。
「以前の手順から出力を選択」の箱には「value」を選択。「Apply to each」ループの中でまたステップを追加します。
値（value)をウェブ版のExcelに書き出していきますので「Excel Online」を選択します。無い場合は「コネクタとアクションを検索する」で検索しましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1516172/344b1b27-a11d-3951-63ca-9b040c11c97c.png)
最初にウェブ版のExcelで作成しておいたファイルを指定します。自分のOneDrive for Businessに自動的に保存されているので、そこに置かれている「members.xlsx」をプルダウンから選んでいきます。
Excelの中には2つの列があったので、最初の列にユーザーの表示名、2つ目の列にメールアドレスを入れるように動的なコンテンツで指定します。これで完成です！！「保存」ボタンを押すのを忘れずに。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1516172/a117e4de-f666-130c-775f-adfa57c87e9a.png)
保存をしたら、早速テストしてみましょう。右上の「テスト」ボタンを押して、作成したフローを動作させ、エラーが無いことを確認したら、自分のウェブ版Excelの「members.xlsx」ファイルを見てみると、作成した時には空だったファイルに、表示名とメールアドレスがずらっと入っています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1516172/90cdae12-e600-2f98-d5d6-ed220e3acf5a.png)
## まとめ
このように、特定のチームの中に誰が入っているのかをファイルで書き出したい場合は、Power Autoamteを利用して実施することが出来ます。[このフローを他の人にも共有したい場合は、こちらの記事](https://qiita.com/Asuka_Nagamine/items/a68c9e33baa3dc4ff482#%E3%81%8A%E3%81%BE%E3%81%91-%E4%BD%9C%E3%81%A3%E3%81%9F%E3%83%95%E3%83%AD%E3%83%BC%E3%82%92%E4%BB%96%E3%81%AE%E4%BA%BA%E3%81%AB%E5%85%B1%E6%9C%89%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF)を参考にしてください。
また、今回のシナリオとは逆に、[Excelファイルに記載されているメールアドレスの人達を特定のチームに追加するには、こちらの記事](https://qiita.com/Asuka_Nagamine/items/a68c9e33baa3dc4ff482)を参考にしてくださいね。
それでは楽しいPower Automateライフ with Teamsをお楽しみ下さい！

本シリーズの目次はこちら：
https://qiita.com/Asuka_Nagamine/items/e94131a2be4878b65deb