2015-01-12 3 views
0

Мне нужна помощь с скриптом электронной почты, который я нашел в Интернете. Сценарий, который я нашел, работал, если вы хотите отправлять по электронной почте всех в столбце B. Я создал раздел в столбце A, спрашивающий, хочу ли я отправить электронное письмо этому отдельному человеку (потому что я не собираюсь отправлять по электронной почте всем), но я не обязательно о том, как изменить кодировку, чтобы распознать это. Я все еще пытаюсь изучить/понять JavaScript. Любая помощь будет большой.
Спасибо.Сценарий электронной почты для Google Таблиц

Вы можете просмотреть мой лист ниже:

https://docs.google.com/spreadsheets/d/1-lcCUN7ROBAhWNFsqura5M7LvhsQnzBBqE06jxxQkFM/edit?usp=sharing

function sendEmails() { 
    var sheet = SpreadsheetApp.getActiveSheet(); 
    var range = sheet.getRange(1,5); // Fetch the range of cells E1:E1 
    var CC = range.getValues(); 
    var range = sheet.getRange(2,5); // Fetch the range of cells E2:E2 
    var subject = range.getValues(); // Fetch value for subject line from above range 
    var range = sheet.getRange(2, 9); // Fetch the range of cells I2:I2 
    var numRows = range.getValues(); // Fetch value for number of emails from above range 
    var startRow = 5;     // First row of data to process 
    var dataRange = sheet.getRange(startRow, 2, numRows,8) // Fetch the range of cells B5:I_ 
    var data = dataRange.getValues(); // Fetch values for each row in the Range. 
    for (i in data) { 
     var row = data[i]; 
     var emailAddress = row[0];  // 1st column 
     var message = row[7];   // 8th column 
     MailApp.sendEmail({ 
     to: emailAddress, 
     cc: CC, 
     subject: subject, 
     htmlBody: message, 

     })} 
} 
} 
+1

Пожалуйста, разместите код, с которым работаете. – KRR

+0

KRR, я загрузил код. –

ответ

0

Попробуйте этот код ниже:

function sendEmails() { 
    var sheet = SpreadsheetApp.getActiveSheet(); 
    var range = sheet.getRange(1,5); // Fetch the range of cells E1:E1 
    var CC = range.getValues(); 
    var ccEmail = CC[0][0]; 
    var range = sheet.getRange(2,5); // Fetch the range of cells E2:E2 
    var subject = range.getValues(); // Fetch value for subject line from above range 
    var emailSubject = subject[0][0]; 
    var range = sheet.getRange(2, 9); // Fetch the range of cells I2:I2 
    var numRows = range.getValues(); // Fetch value for number of emails from above range 
    var startRow = 5;     // First row of data to process 
    var endRow = numRows[0][0]; 
    var dataRange = sheet.getRange(startRow, 2, endRow,8) // Fetch the range of cells B5:I_ 
    var data = dataRange.getValues(); // Fetch values for each row in the Range. 

    for (i in data) { 
     var row = data[i]; 
     var sendEmail = row[0]; 
     if (sendEmail == "Yes"){ 
     var emailAddress = row[1];  // 2nd column 
     var message = row[7];   // 8th column 
     MailApp.sendEmail({ to: emailAddress, cc: ccEmail , subject: emailSubject, htmlBody: message}); 

     } 
} 
} 

Отредактированный код как getRange() метод получает значения в два вы должны получить первое значение из массивов. Надеюсь, что это поможет!

+0

KRR, я попробовал ваш код, и он работает без каких-либо ошибок, бит не отправил никаких электронных писем. Я сделал отладку и заметил, что некоторые вещи не выстраиваются, как «отправить электронную почту» и «адрес электронной почты», поэтому я исправил их, а затем он дал мне сообщение об ошибке. Любая идея почему? –

+0

Убедитесь, что вы тестируете действительные адреса электронной почты. – KRR

+0

Я добавил свой личный адрес электронной почты и мою школьную электронную почту, и это говорит о том, что оба являются недействительными электронными письмами. –

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