かずきち。の日記

サーバサイドエンジニアのつぶやき

リモートワークなら自動で対応しよう!今週の業務処理件数を自動で報告するスクリプトを書く

背景

f:id:kazukichi_0914:20210612183643g:plain

コロナ禍の部下の労務管理は上司にとって大変です。
部下がどんな仕事をしているのか遠隔から見守らないといけないですからね。
とはいえ、上司に「今日はこんな件数の処理を行いました」と
手作業でメールを送ってリモートで報告するのはめんどくさいです。
ぜひ自動化しましょう。
プログラミングを使えば毎週金曜日17:30に上司に報告するなんてことは朝飯前です。
本言語はGoogleAppsScriptで書かれていますので、誰でも

script.google.com
引用:
https://script.google.com/home

にアクセスすれば使えます。

さて、いきなりですがソースです。

コード
function getUserLabelsSample() {
  //日付けオブジェクトを作る
  var date = new Date();
  
  //スプレッドシートのkeyを指定して取得
  var spreadsheet = SpreadsheetApp.openById('自分のスプレッドシートid');

  const start = 0;
  const max = 100;
  
  var date = new Date(); //現在日時のDateオブジェクトを作る
  var today = Utilities.formatDate(date, 'JST', 'yyyy/MM/dd');
  Logger.log(today); //2019/09/05
  
  //現在の「日」を取得
  var day = date.getDate();
  //Logger.log(day); //今日の日付
  
  //前週日付にしたいので-1する
  date.setDate(day-7);
  //Logger.log(date); //Wed Sep 04 19:33:33 GMT+09:00 2019
  var startday = date;
  
  //日付の表示形式を整形する
  var lastweek = Utilities.formatDate(startday, 'JST', 'yyyy/MM/dd');
  //Logger.log(lastweek); //2019/09/04
 
  Logger.log("label:Google after:"+lastweek);
  
  const threads = GmailApp.search("label:Google after:"+lastweek);
  const messagesForThreads = GmailApp.getMessagesForThreads(threads);
  Logger.log("Google件数"+messagesForThreads.length);
  
  for(const messages of messagesForThreads){
    Logger.log(messages[0].getSubject());
  }
  
   const recipient = 'xxxxxxxxxxxx@gmail.com'; //送信先のメールアドレス
   const subject = '今週の処理件数';

  const recipientName = 'テスト';
  const body = messagesForThreads.length+'件';
  
  const options = {name: 'かずきち。'};
  
  GmailApp.sendEmail(recipient, subject, body, options);
}

このソースをコピペしてもらえれば、先週から今日にかけて「Google」というラベルが付いているメール件数をxxxxxxxxxxxx@gmail.comに報告するソースです。
使用用途はリモートワークで部下の労務管理を行いたい上司に「今週の業務報告」を送りつけるスクリプトです。

f:id:kazukichi_0914:20210613205831g:plain

こんなメールが上司に送られるわけです。

あとはこのスクリプト実行を毎週金曜日の業務終了定時に送ればOKです

あともう一息です。

「編集」⇢「プロジェクトのトリガー」を設定します

f:id:kazukichi_0914:20210612185201g:plain

トリガー追加を押し、

f:id:kazukichi_0914:20210612185302g:plain

毎週金曜日の17:00~18:00を狙って上司に報告しましょう。
プログラムが自動で今週受信したGmailのサマリーを作成して報告してくれるという優れものです。