Google 스프레드시트에서 간단한 TOD 목록을 만들고 알림 이메일

9713 단어 spreadsheet
간단한 TODO 목록 시트를 만듭니다.



시트 「TODO 리스트」의 완료 셀을 위로부터 추적해, 「미완료」로 「기일이 지나고 있다」 것을 픽업 해, 표로 해 메일을 보낸다.

remind.gs
//スプレッドシートの未消化タスクをメールする
function remind() {

  var date = new Date();
 var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = spreadsheet.getSheetByName('TODOリスト');
  var data = sheet.getDataRange().getValues();
  var header = new Array();
  var table = new Array();
  var footer = new Array();
  var taskNum = 0;

  header.push("<head>");
  header.push('<style type="text/css">td{padding:3px;border:1px #555555 solid;border-collapse:collapse;font-size:13px}</style>');
  header.push("</head>");
  header.push("<body>");
  table.push("<table>");
  table.push("<tr><td>期限</td><td>タスク</td><td>担当者</td><td>備考</td></tr>");

  for(var i = 0; i < data.length; i++){

    //完了しているかタスクが空欄の場合はスキップ
    if(data[i][2] == true || data[i][4].length == 0){
      continue;
    }
    data[i][3] = new Date(data[i][3]);
    //タスクが未完了で日付が過ぎている場合
    if(data[i][3] < date){
      taskNum++;
      table.push("<tr><td>" + Utilities.formatDate(data[i][3], "JST","M/d") + "</td><td>" + data[i][4] + "</td><td>" + data[i][5] + "</td><td>" + data[i][6] + "</td></tr>");
    }
  }

  table.push("</table>");
  footer.push("</body>");

  header.push(taskNum + "件の未消化タスクがあります。");

  MailApp.sendEmail(
    ["[email protected]"],
    "期限切れ未消化TODOリスト",
    'HTMLメール用',
    {
      htmlBody:header.join("\n") + table.join("\n") + footer.join("\n")
    }
  )

}

위를 일일 트리거로 실행하도록 설정하여 끝.
리마인드 되지만, 미완료의 태스크가 쌓여 가는 것만으로 별로 효과는 없었다.

좋은 웹페이지 즐겨찾기