2016-09-08 4 views
0

У меня есть лист, который имеет 12 столбцов как 0 1 2 3 4 ----- 12.Как добавить «CC» в автоматическое напоминание электронной таблицы Google?

Значения следующие.

0 - numbers, 
1 - Subject, 
2 - 1st owner mail id, 
3 - 2nd owner mail id, 
4 - Status, 
5 - Date, .... etc. 

Я написал код, который автоматически отправляет сообщения электронной почты, когда значение в 5 - Date считается окончательной датой.

При превышении этого значения будут отправлены напоминания или напоминание в соответствии с триггером.

Код выглядит следующим образом:

function sendEmails() { 
    var sheet = SpreadsheetApp 
    .getActiveSpreadsheet() 
    .getSheetByName("BiWeekly/Monthly Reports"); 
    var startRow = 2; 
    var numRows = sheet.getLastRow(); 
    var numOfColumns = sheet.getLastColumn(); 
    var dataRange = sheet.getRange(startRow, 1, numRows, 12); 
    var data = dataRange.getValues(); 

    var status = ""; 

    var i = 0; 
    for (i=0;i<data.length;i++) { 
    var row = data[i]; 
    var emailAddress = row[2]; 
    var message = row[1]; 

    status = new Date(); 

    if (status < status) { 
     var subject = "ETA follow up with"; 
     MailApp.sendEmail(emailAddress, subject, message); 
    }; 
    }; 
}; 

Вопрос

Как я могу добавить функцию, названную CC, который должен содержать первый владелец почтовый идентификатор, в соответствии с выше условия ,

ответ

0

Если я правильно понял (! Надеюсь) вам просто нужно это:

ccEmailAddress = row[3] 

MailApp.sendEmail(emailAddress, subject, message, {cc: ccEmailAddress}); 

Для получения дополнительной информации обратитесь к документации здесь - https://developers.google.com/apps-script/reference/mail/mail-app#sendEmail(String,String,String,Object)

+0

Да, Эринан, ты понял. код работает. Но исключительная ошибка, которую я получаю. Высказывание «Не удалось отправить электронную почту: нет получателя (строка 24, файл« New_reminders »)» .. Есть ли какое-либо решение для этого? – Jyotiranjan

+0

Трудно отлаживать, не видя ваши данные. Я чувствую, что некоторые из ячеек адресов электронной почты пусты или что размер вашего диапазона данных слишком велик. Не можете ли вы показать скриншот своих данных после обфускации/замены конфиденциальных данных? –

0

Я только измененную в последней части этого кода. Пользователи получают почту напоминания. Но одна ошибка отображается во время выполнения кода. Он не показывает Не удалось отправить сообщение электронной почты: нет получателя (строка 24, файл «New_reminders»)

function sendEmails() { 
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("BiWeekly/Monthly Reports"); 
    var startRow = 2; 
    var numRows = sheet.getLastRow(); 
    var numOfColumns = sheet.getLastColumn(); 
    var dataRange = sheet.getRange(startRow, 1, numRows, 12); 
    var data = dataRange.getValues(); 
    var status = ""; 
    var date = ""; 
    var i = 0; 
    for (i=0;i<data.length;i++) { 
    var row = data[i]; 
    var emailAddress = row[3]; 
    var emailAddress1 = row[2]; 
    var message = row[1]; 
    date = new Date(); 
    status = row[6]; 
    if (status < date) { 
    var subject = "ETA follow up with"; 
    MailApp.sendEmail(emailAddress, subject, message, { 
    cc: emailAddress1 
    }); 
    }; 
    }; 
    }; 

Есть ли способ, что я могу запустить код на 100% успеха?

Смежные вопросы