아직 로프를 배우고 있습니다 & 님이이 문제에 대해 최선의 방법을 제안 할 수 있기를 희망했습니다. (해결책을 찾지 만 ! 어떤 성공) :Google 스프레드 시트 전자 메일을 보내고 보내는 총 전자 메일 수를 계속 유지하는 스크립트
열 A : :
나는 아주 간단한 스프레드 시트가 전자 메일 주소를; 열 B : 보낼 메시지. (열 A는 Sheet2의 더 긴 주소 목록에서 몇 개의 전자 메일 주소를 가져 오는 수식을 사용하여 생성됩니다.)
Sheet2는 모든 전자 메일 주소의 '마스터'목록을 포함합니다 .- 열 A : 이름 ; B 열 : 전자 메일 주소
다음 코드를 시작으로 사용하고 있습니다. 그것은 Sheet1의 주소로 전자 메일을 보내고 전자 메일을 보낼 때마다 (또는 스크립트가 해당 행을 처리하는 대신) C 열의 셀을 "EMAIL_SENT"로 표시합니다.
나는 Sheet2의 C 열에있는 각 사람에게 보낸 전자 메일의 총 수를 유지하고 싶지만이 접근 방법에 가장 적합한 방법이 무엇인지 모르거나, 솔직히, 어디에서 시작 해야할지! 언급 한 바와 같이 (시트 1 만 이들의 소수를 가지고 있으며,이 목록은 매일 변경됩니다 반면)는 모든 사람의 전자 메일 주소가 포함되어 있기 때문에
function sendEmails() {
var sheet = SpreadsheetApp.getSheetByName('Sheet1');
var EMAIL_SENT = "EMAIL_SENT";
var startRow = 1; // First row of data to process
var dataRange = sheet.getDataRange()
var data = dataRange.getValues();
for (var i = 0; i < data.length; ++i) {
var row = data[i];
var emailAddress = row[0]; // First column
var message = row[1]; // Second column
var emailSent = row[2]; // Third column
if (emailSent != EMAIL_SENT) { // Prevents sending duplicates
var subject = "Sending emails from a Spreadsheet";
MailApp.sendEmail(emailAddress, subject, message);
sheet.getRange(startRow + i, 3).setValue(EMAIL_SENT);
// Make sure the cell is updated right away in case the script is interrupted
SpreadsheetApp.flush();
}
}
}
그래서, 나는, 시트 2의 각 사람 수를 유지하고 싶습니다.
누구든지이 문제에 대해 알려주시겠습니까? 어떤 제안이라도 대단히 감사 할 것입니다.
많은 도움을 주셔서 감사합니다.
안녕하세요 Phil, 솔루션을 제공해 주셔서 감사합니다. 불행히도 나는 시트 1의 모든 이메일을 통해 코드를 반복 할 수 없다. 내가 코드를 추가하기 전에 작동 했으므로 코드를 잘못된 위치에 넣었습니다. 왜 이것이 작동하지 않는지 내게 말할 수 있습니까? 'WHATEVER_EMAIL_YOU_ARE_LOOKING_FOR'을 'emailAddress'로 바꿨고 "SpreadsheetApp.flush();"아래의 스크립트 아래쪽에 Step1 코드를 추가했습니다. "{/ * 오류! 이메일을 찾을 수 없습니다. * /}"단계 1 코드 아래에 2 단계 및 3 단계 코드를 직접 붙여 넣었습니다. 미리 감사드립니다. – Vin
사과. 실수로 'i'변수를 다시 사용했기 때문입니다. 1 단계에서 'i'를 사용했던 시간을 항상 변경하십시오. 해결해야합니다. 나는 나의 대답을 업데이트 할 것이다. –
대단히 감사합니다. 필. 스크립트는 이제 완벽하게 작동합니다. 그 중 하나를 발견하지 못한 것에 대한 사과! – Vin