0
我正在製作一個電子表格,它循環顯示兩欄中的值。一列(47)包含將在電子郵件中發送的消息,另一列(48)包含消息發送時間的時間戳。Google Spreadsheets if ==''not working
該腳本檢查消息值是否爲空並且時間戳爲空。如果是這樣,這意味着消息從未發送,然後腳本發送消息。
如果時間戳記列中有值,我希望它不發送消息。我以前曾經使用過它,過去它已經工作過,我不確定它爲什麼現在不工作。即使有時間戳,它仍然會發送消息。我錯過了什麼?下面是代碼(對不起,這不是最好的編寫的代碼,我知道任何提示,使其更好地將不勝感激。):
function listingPending2WeekNoticeEmail() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("VacancyReportMarketing");
// figure out what the last row is
var lastRow = sheet.getLastRow();
// the rows are indexed starting at 1, and the first 3 row
// is the headers, so start with row 4
var startRow = 4;
// grab the '2 week notice sent' column 48 (AV))
var range = sheet.getRange(2,48,lastRow-startRow+1,1);
var numRows = range.getNumRows();
var timestamp_values = range.getValues();
// Now, grab the listing pending 2 week notice column 47 (AU)
range = sheet.getRange(4, 47, lastRow-startRow+1, 1);
numRows = range.getNumRows();
var reminder_info_values = range.getValues();
var warning_count = 0;
var msg = "";
// Loop over the days left values
for (var i = 0; i <= numRows - 1; i++) {
var timestamp = timestamp_values[i][0];
var reminder_info = reminder_info_values[i][0];
// var days_left = days_left_values[i][0];
if(reminder_info != '' && timestamp == '') {
Logger.log(timestamp);
// if reminder not empty but timestamp empty, do something with the data.
var reminder_name = reminder_info_values[i][0];
msg = msg + reminder_name+"\n\n";
var msg2 = "\n"+"Within the 2 weeks prior to unit being estimated ready, Marketing Department should begin advertising the above units. If assets are missing, Marketing should begin scheduling with the property manager a time to visit the property as soon as it is ready. Please begin to compile your schedule to collect missing assets and submit to Marketing Manager for approval. Thank you!"
warning_count++;
}
}
if(warning_count) {
MailApp.sendEmail("[email protected],[email protected]",
"2 WEEK NOTICE - LISTINGS PENDING", msg+msg2);
timestamp2WeekNoticeSent();
}
};
function timestamp2WeekNoticeSent(){
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("VacancyReportMarketing");
var lastRow = sheet.getLastRow()
for (var i = 1; i <= lastRow; i++){
// get column AU (47), every row to last row
var noticeRange = sheet.getRange([i], 47);
var noticeValues = noticeRange.getValues();
// get column AV (48), every row to last row
var timeRange = sheet.getRange([i], 48);
var timeValues = timeRange.getValues();
if (noticeValues != '' && timeValues == ''){ //
timeRange.setValue(new Date());
}
}
}
確定是否發送電子郵件的變量是'warning_count'。因此,從這個循環中記錄Logger.log(warning_count)開始,看看它爲什麼會變得正確。 – FTP