2016-05-20 12 views
0
function checkReminder() { 
    // get the spreadsheet object 
    var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); 
    // set the first sheet as active 
    SpreadsheetApp.setActiveSheet(spreadsheet.getSheets()[0]); 
    // fetch this sheet 
    var sheet = spreadsheet.getActiveSheet(); 

    // figure out what the last row is 
    var lastRow = sheet.getLastRow(); 

    // the rows are indexed starting at 1, and the first row 
    // is the headers, so start with row 2 
    var startRow = 2; 

    // grab column 10 (the 'date end' column) 
    var range = sheet.getRange(2,10,lastRow-startRow+1,1); 
    var numRows = range.getNumRows(); 
    var date_end_values = range.getValues(); 

    // Now, grab the Event name data 
    range = sheet.getRange(2, 5, lastRow-startRow+1, 1); 
    var reminder_info_values = range.getValues(); 

    var warning_count = 0; 
    var msg = "Send out a follow-up email asking how the event was!"; 

    } 

//Get today's date 
var todaysDate = new Date(); 
var numRows = numRows 
// Loop over the days left values 
for (var i = 0; i <= numRows - 1; i++) { 
var date_end = date_end_values[i][0]; 

//call setHours to take the time out of the comparison 
if(date_end == todaysDate.setHours(0,0,0,0)) { 
MailApp.sendEmail("[email protected]", 
"Reminder Spreadsheet Message", msg); 
    } 

私がやっていることは、データセット内の特定の列が現在の日付と等しいときに通知を送信することです。私はコーディングに新しいし、問題に遭遇しています。助けてください?シンプルなGoogleScriptコード(GoogleのシートとGmailの統合)のトラブル

答えて

0

変数を設定した後で、以下のように追加して比較に適しているかどうかを判断しました(ログを表示するために実行した後ctrl + Enterキーを押します)。

Logger.log(date_end); 
Logger.log(todaysDate.setHours(0,0,0,0)); 

これらは全く匹敵しませんでした。

var todaysDate = Utilities.formatDate(new Date(), "GMT+1", "MM/dd/yyyy"); 

var date_end = Utilities.formatDate(date_end_values[i][0], "GMT+1", "MM/dd/yyyy"); 

if(date_end == todaysDate) { 

HTH

:ここで私はこの仕事をするためにラインに変更されています
関連する問題