2014-11-11 3 views
0

Наш инженерный отдел имеет форму запроса в Google, которую наша компания использует, чтобы уведомить нас о проектах и ​​других вопросах, требующих посещения. Запросам присваивается руководство проектом на нашем еженедельном собрании. Я пытаюсь написать сценарий, который будет заполнять электронное письмо, используя данные из электронной таблицы, которую форма ведет, чтобы уведомить об этом как запросчика, так и проект, чтобы они могли напрямую связываться друг с другом, а не посылать по электронной почте всех в Техническую группу для получения обновлений. Я попробовал сплайсинг двух разных кодов, чтобы достичь этого, поскольку я не смог найти код, который я мог бы легко адаптировать, чтобы соответствовать нашей цели. Я перечислил ссылки ниже кодов, которые я использовал для написания того, что у меня есть.Отправка электронной почты, заполненная листами google

https://developers.google.com/apps-script/articles/sending_emails

https://www.youtube.com/watch?v=_ToKh2JLQYs

Код говорит мне "Недопустимый адрес электронной почты:" и подчеркивает MailApp.sendEmail, даже с реальными адресами электронной почты. Может ли кто-нибудь помочь? Я не написал никакого кода с веб-дизайна средней школы. Мы рассматриваем возможность использования этой формы уведомления в нескольких наших других отделах. Предполагая, что эта версия работает.

function SendEmails() { 
    var sheet = SpreadsheetApp.getActiveSheet(); 
    var startRow = 2; //First row of data to process 
    var numRows = 2; //Number of rows to process 
    // Fetch the range of cells A2:L3 
    var dataRange = sheet.getRange(startRow, 1, numRows, 12) 
    // Fetch values for each row in the Range. 
    var Data = dataRange.getValues(); 
    for (var i = 0; i < data.length; ++i) { 
    var row = data[i]; 
    var requestername = row[1]; // Second column 
    var emailAddr = row[2]; // Third column 
    var requestspecifics = row[5]; // Sixth column 
    var projectlead = row[6]; // Seventh column 
    var projectleademail = ""; // Tenth Column 
    else if (projectlead == "Tom Smith") {projectleademail = "[email protected]";} 
    else if (projectlead == "Dick Smith") {projectleademail = "[email protected]";} 
    else if (projectlead == "Harry Smith") {projectleademail = "[email protected]";} 
    else if (projectlead == "none") {projectleademail = null;} 
    var emailSent = row[12]; // Last column 
    if (emailSent !=EMAIL_SENT) { // Prevents sending duplicates 
    var myheader = "Minor Engineering Projects Requests"; 
     MailApp.sendEmail({ 
     to:emailAddr, 
     subject:myheader 
     body:requestername + ", \n\n + requestspecifics + " \n\nThe request you 
     submitted, listed above, has been assigned to " + projectlead + ". \nPlease 
     contact this person with any concerns. \n\nThank You, \n\nEngineering", 
     cc:projectlead]); 
     sheet.getRange(startRow + i,12).setValue(EMAIL_SENT); 
     // Make sure the cell is updated right away in case the script is interrupted 
     SpreadsheetApp.flush(); 
    } 
    } 
} 

ответ

0

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

function SendEmails() { 
    var sheet = SpreadsheetApp.getActiveSheet(); 
    var startRow = 2; //First row of data to process 
    var numRows = 2; //Number of rows to process 
    // Fetch the range of cells A2:L3 
    var dataRange = sheet.getRange(startRow, 1, numRows, 12) 
    // Fetch values for each row in the Range. 
    var Data = dataRange.getValues(); 
    for (var i = 0; i < data.length; ++i) { 
    var row = data[i]; 
    var requestername = row[1]; // Second column 
    var emailAddr = row[2]; // Third column 
    var requestspecifics = row[5]; // Sixth column 
    var projectlead = row[6]; // Seventh column 
    var projectleademail = ""; // Tenth Column 
    if (projectlead == "Tom Smith") {projectleademail = "[email protected]";} 
    else if (projectlead == "Dick Smith") {projectleademail = "[email protected]";} 
    else if (projectlead == "Harry Smith") {projectleademail = "[email protected]";} 
    else if (projectlead == "none") {projectleademail = null;} 
    var emailSent = row[12]; // Last column 
    if (emailSent !="EMAIL_SENT") { // Prevents sending duplicates 
    var myheader = "Minor Engineering Projects Requests"; 
     MailApp.sendEmail({ 
     to:emailAddr, 
     subject:myheader, 
     body:requestername + ", \n\n" + requestspecifics + " \n\nThe request you"+ 
     "submitted, listed above, has been assigned to " + projectlead + 
     ". \nPlease contact this person with any concerns. \n\nThank You, \n\nEngineering", 
     cc:projectlead}); 
     sheet.getRange(startRow + i,12).setValue("EMAIL_SENT"); 
     // Make sure the cell is updated right away in case the script is interrupted 
     SpreadsheetApp.flush(); 
    } 
    } 
} 
Смежные вопросы