見出し画像

【GAS】Google Apps Script 活用事例 Google Documentで作成された議事録の最新部分のみを抽出して、Slackで通知する方法

Photo by Campaign Creators on Unsplash

えっ.......まだ在宅勤務やってて、良かったの?

読者の皆さんの会社では、情報伝達が出来ていますか?ウチの会社では出来ていません。先日、緊急事態宣言が解除されましたね。宣言が終わったから、出社しなければいけないのかと思って出社したら、

「アレ?.....なんで来たの?まだ、在宅でも良かったのに」

と部長に言われました。.......アレじゃねぇよ。そういう事を、もっと早く言えよ。大事な事は、ちゃんと部下にも共有してくれよ。

この会社では、情報は自ら取りに行かないと、ダメらしい.....いや、もう入社して1年半になるし、分かっちゃいるんですけど、部下に情報共有出来ない上司とか、一体何のためにいるんだよ......。..........部長も課長も忙しい....。そういう事にしておきましょう。

ちなみに、6/1から、普段通りに戻るそう.....。聴覚過敏とかがある自分からすると、在宅勤務は、ありがたいですね。

新型コロナウイルスに伴う緊急事態宣言が25日に全面解除される方向の中、感染防止のため在宅勤務などテレワークで働いた人の6割超が、収束後もテレワークを続けたいと考えていることが、日本生産性本部の調査で分かった。在宅勤務に満足しているという回答も6割弱を占めた。

引用:「新型コロナ収束後も「テレワーク続けたい」6割超 生産性本部調査」

議事録は、あります。 そして、Googleドキュメントで作成されています。

実は、会議の議事録がないわけではありません。Slackで議事録更新しましたー。ご確認くださいみたいな一言でもあれば、組織の情報共有も変わってくるんだと思うんだけどなぁ....。

情報を積極的に開示、公開するような空気感の醸成、そういうのが出来てくれば、何かが変わりそうな気がします。

さて、本題。会議の議事録は、最新の内容が、ドキュメントの1ページ目に記載され、古い内容が下に溜まるような感じになっています。そこで、ドキュメント全体を取得して、0文字目から600文字目とか800文字目くらいを目処に取得して、Slackで送るようなスクリプト書きました。

function myFunction() {
 const url      = 'https://docs.google.com/document/d/********************/edit';
 const document = DocumentApp.openByUrl(url);
 
 console.log(document.getName());//2020_人事部議事録 
 
 
 const body     = document.getBody();
 const contents = body.getText();
 const length   = contents.length;
 
 
//  console.log(contents);
//  console.log(length);

 const slice    = contents.slice(0, 600);//600文字
 console.log(slice);
 
  let message = '<@自分のSlackメンバーIDを入れる> ' + '\n\n' + '2020_人事部議事録' + '\n' + slice + '\n\n' + url;
 
 
 const payload = {
 "text" : message
 }
 const options = {
 "method" : "POST",
 "contentType" : 'application/json; charset=utf-8',
 "payload" : JSON.stringify(payload),
 }
 
 const webhook ='**********************';
 UrlFetchApp.fetch(webhook, options);
}//end

難しいことは何もない。ポイントは、Sliceメソッドだけ

getTextメソッドで取得した内容を、sliceメソッドで、必要な文字数文、切り出す。ただ、それだけです。簡単お手軽です。ほとんどの場合、*******ってなっている部分を、自分の環境に合わせて直すのと、Slack APIの必要最低限の手間で、Slack通知を実現出来ると思います。

Slackを個人宛に通知する方法

参考にさせてもらったURL

if文中に、breakを使って、800文字に達したら、処理を終了みたいなロジックも考えたのですが、単純にsliceを使った方が簡単でした。

Google Documentのお役立ち記事を他にも書いてます。


この記事が気に入ったらサポートをしてみませんか?