TeamsチャットをExcelでバックアップしておく方法

TeamsチャットをExcelでバックアップ

TeamsチャットをExcelでバックアップしておく方法

皆さんはTeamsチャットはよく利用されていますでしょうか。
気軽に連絡でき、複数メンバーでグループを作成したりするのが容易なので多用することが多いのではないでしょうか。
しかし、マイクロソフト的には「Teamsチャットは軽微な連絡手段で、メインはチームのチャネルを使う」というのが主の考え方なのか。チャットの使いがってがあまり良くない場面があります。

それが、「チャットの検索」です。
チャット画面で「CTRL + F」でそのチャット内のメッセージ検索を行うことができますが、大量のやり取りをしていると過去のチャットが正しく表示されなくなるのです。
実際には検索はできているので、画面左の検索結果には対象のメッセージが表示されているのですが、それをクリックしても対象のメッセージに遷移しない。もしくは表示されても前後のやり取りが表示されない状態になります。 これでは、なんの話に対してそのメッセージを送ったのかがわからないです。あとまれに結果には表示されるのに「削除されました」と表示されることもあります。(削除した記憶はない)

こういった事があるので、私は主要なチャットはバックアップを取るようにしています。
今回はその方法を紹介します。方法としてはPower Automateでフローを作成して、チャットが送られると自動的にExcelに書き込みを行うようにします。
これによりTeams画面上で検索できない場合はExcelを参照する形で確認を行うことができるようになります。またExcelなのでフィルタなどでソートすることもできるので発話者などの情報で絞り込みもできるので、便利度合いは上がるかと思います。

なお設定手順はYouTubeに上がっているので参考にしてみてください。


作成方法の紹介(Excel)

では早速作成方法を紹介します。
まずはデータを書き込み保存しておくためのテーブルをExcelで作成します。
エクセルを開き、A~D列を選択し「テーブルとして書式設定」を選択しテーブルを作成。テーブル名は任意で設定しておきます。
A~D列の名称をそれぞれ「messageId」「date」「from」「message」と設定します。Excelの作成は以上です。


作成方法の紹介(Power Automate)

Power Automateからフローを作成していきます。

  1. トリガーの設定
  2. フローのトリガーとしてインスタントクラウドフローから、「チャットに新しいメッセージが追加されたとき」を設定します。
    このトリガーでは特に設定する項目はないです。

  3. 会話IDで条件分岐
  4. トリガーが起動したら、そのメッセージがどのチャットで投稿されたものか判断します。
    後述する会話IDで条件分岐させ、書き込むExcelのシート(テーブル)を変えます。

  5. メッセージの詳細を取得する
  6. 条件分岐させたら「メッセージの詳細を取得する」を選択し、トリガーで取得した「メッセージID」を設定します。
    これにより対象のメッセージについて内容や投稿者情報、更新日付などを取得することができるようになります。

  7. 日本時間に変更する
  8. 先程の「メッセージの詳細を取得する」で入手できる日付情報はすべて協定世界時のものです。
    なので日本時間に変換するには9時間加算する必要があります。日付で検索し、「タイムゾーンの変換」を選択し、基準時間を「CreatedDateTime」つまり初回投稿時にして変換元、先の情報を入力します。
    これで日本時間に変換することが可能になります。

  9. 表に行を追加
  10. 投入データが揃ったらExcelのテーブルに書き込みを行います。
    「表に行を追加」を選択し、それぞれの項目に準備したデータを入力していきます。基本的にはカラム名と同じものを選択するだけですが、1点注意が必要です。
    messageに指定する所謂内容ですが、「Body Content」ではなく「Body PlaneTextContent」を指定しましょう。
    チャットのメッセージ内容はHTMLのようにタグで保管されているため、Body Contentを指定してしまうとタブ情報が残ったままになってしまいます。タブ情報は不要なのでPlaneTextの状態を設定します。

フローの作成は以上になります。
そこまで複雑なものではないですし、会話IDで分岐させれば複数のチャットに対してバックアップを取ることができます。


会話IDの取得方法

フロー作成時の条件分岐で設定した会話IDですが、デスクトップ版のTeamsを使用していると何のことだかわからないかと思いますので取得方法についても紹介します。
この会話IDを取得するためにはWeb版のTeamsを開いて、対象のチャットを表示させます。表示させたらブラウザのURL欄に注目してください。
下記のように表示されていると思いますので、conversations/以降から?ctx・・・までをコピーします。これが会話IDになります。


稼働確認

フローの作成が完了したら稼働確認を実施します。
対象のチャットにてメッセージをいくつか投稿し、Excelを確認します。
今回は下記のように3件のメッセージを投稿しました。

その結果が下記になります。Excelにちゃんと投稿内容が保存されていますね。このようにPower Automateを利用することで自動的にチャットの内容をバックアップしておくことが可能になります。


さいごに

ということで今回は「TeamsチャットをExcelでバックアップしておく方法」を紹介しました。
フローも簡単に作成できて、作成できたあとは特段何もすることないのでとても便利なツールです。「あのときのやりとり、どうだったけ」という疑問が出たときにはすぐに調べられるようになるのでオススメです。
参考になれば嬉しいです。今回はこの辺で、ではまた!

コメント

このブログの人気の投稿

PowerAppsで座席表を作成する

Power AutomateでTeamsのキーワードをトリガーにする

Power Automateで文字列抽出