背景
コロナ禍の部下の労務管理は上司にとって大変です。
部下がどんな仕事をしているのか遠隔から見守らないといけないですからね。
とはいえ、上司に「今日はこんな件数の処理を行いました」と
手作業でメールを送ってリモートで報告するのはめんどくさいです。
ぜひ自動化しましょう。
プログラミングを使えば毎週金曜日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に報告するソースです。
使用用途はリモートワークで部下の労務管理を行いたい上司に「今週の業務報告」を送りつけるスクリプトです。
こんなメールが上司に送られるわけです。