2017-07-08 3 views
0

前に1日。私はすべての試験を記録するスプレッドシートを持っています。試験日の1週間前と1日前までに手動でチームに電子メールを送信します。電子メールには、試験の詳細(基本的に1行)が含まれています。どのように私はシートをGoogleに新しいです前に電子メール1週間送信し、細胞内の特定の日付に基づいて電子メールで行全体を送信して

私は自動的にチーム全体に各試験日前に電子メール1週間と1日を送信するための方法を探しています。各試験は別々のシートになります。たとえば、すべてのGCSE数学試験が1枚のシートにあります。 数学は別のものになります

助けをいただければ幸いです。

私は私が特定の日付より前に1週間と1日を送信するためにどのようにうまくカントしかし、いくつかのフォーラムを読んでいます。

私のスプレッドシートへのリンクは以下の通りです。

https://docs.google.com/spreadsheets/d/19_UtQCN5vXvGOtLD15abKbKKArm3TbuVucHrfnAL7Ho/edit?usp=sharing

私は理解しようとしていますが、これは私にとって新しいものであるとして、多くのコードを持っていけません。

function CustomEmail() { 

    var sheet = SpreadsheetApp.getActiveSheet(); 
    var range = sheet.getRange("A2:I100"); 
    var UserData = range.getValues(); 

    for (i in UserData) { 
    var row = UserData[i]; 
    var CentreNumber = row[0]; 
    var Exam = row[1]; 
    var ExamDate = row[4]; 
    MailApp.sendEmail(row[8], "[email protected]", "Hello Colleague" + CentreNumber + ", This is a reminder of the scheduled Exam " + Exam); 
    } 
} 

答えて

0

Google Appsプロジェクトにtime-driven triggerを追加する必要があります。 時間駆動型トリガーを使用すると、特定の時刻または定期的な間隔(たとえば、毎日午前3時から午前4時)でスクリプトを実行できます。

機能が毎日実行されるようにと、あなたはあなたのCustomEmail機能を設定します。 Step by step instructions on how to add a trigger

カスタムEメールの中では、forループを変更する必要があります。すべてのExamDateを今日の日付と比較し、1日または1週間の差がある場合は電子メールを送信する必要があります。

今日の日付がDate.now()のように計算されますが、私はExamDatesがあなたのシートに表現されるのか分かりません。今日の日付とExamDateの両方を同じ表現に変換する方法を調べてください。そこ

Here's how you do calculations with dates in javascript.

+0

こんにちは、私はこのになります、あなたの答えをいただき、ありがとうございます。私はあなたの時間を感謝します、ありがとう。 – moe2017

関連する問題