期限日と何日前に通知するかを指定したらメール飛ばしてくれるGAS

GAS

小ネタです。
大事な契約やら請求やら期限日過ぎてから対応することが多い方は見ていただければと。

(通知ツールもいいですが、本来であればきちんと管理すべきなんですけどね・・・)

function sendEmailNotification() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var configSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("config");
  var email = configSheet.getRange("A2").getValue();
  var today = new Date();
  var data = sheet.getDataRange().getValues();
  for (var i = 1; i < data.length; i++) {
    var row = data[i];
    var deadline = new Date(row[2]);
    var daysBefore = row[3];
    var notificationDate = new Date(deadline.getTime() - daysBefore * 24 * 60 * 60 * 1000);
    if (notificationDate <= today && notificationDate > deadline) {
      var subject = "【重要】" + row[1] + "の期限が迫っています";
      var body = "以下の業務の期限が" + daysBefore + "日前の" + Utilities.formatDate(notificationDate, "JST", "yyyy/MM/dd") + "に迫っています。\n\n" + "・" + row[1] + "\n\n" + "期限日:" + Utilities.formatDate(deadline, "JST", "yyyy/MM/dd");
      MailApp.sendEmail(email, subject, body);
    }
  }
}

ちなみに・・・・

ChatGPT君のコーディングでした。

ほんとにGAS書く時の労力減りました。ばんざい。

コメント

タイトルとURLをコピーしました