셀 범위 내의 모든 셀에 대해 이메일을 보내는 스크립트가 있습니다. 스크립트가 다시 실행될 때마다 중복 전자 메일을 보내지 않으려면 전자 메일을 보낼 때마다 각 행에 셀 (열 C)을 표시합니다. 'Sheet2'의 예를 참조하십시오.Google 스프레드 시트 - 다른 셀의 텍스트를 기반으로 이메일 보내기
https://docs.google.com/spreadsheets/d/1_oMbZZjOhfdKuYNWOuyF3fao8yO6W3juFjUsFbFBJaU/edit?usp=sharing
그러나, 나는 그것의 해당 행 내에서 세포가 특정 텍스트를 포함 할 때마다 이메일을 보냅니다 'Sheet1의'에 대한 스크립트에이 변환하고자합니다. 이 예에서 열 I에 체크 표시 (✓)가 있으면 메시지 (열 E)가 해당 제목 줄 (열 D)과 함께 보내지 으면됩니다. 나는 또한 'Sheet2'의 예제와 마찬가지로 중복 된 전자 메일을 방지하려고합니다. 다시 말해, 열 I에 체크 표시가 있으면 메시지가 전송되고 완료되며 체크 표시가 삭제되고 다시 입력되지 않는 한 다시 보내지 않습니다.
// This constant is written in column C for rows for which an email
// has been sent successfully.
var EMAIL_SENT = "EMAIL_SENT";
function sendEmails2() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName('Sheet2');
var startRow = 2; // First row of data to process
var numRows = 2; // Number of rows to process
// Fetch the range of cells A2:B3
var dataRange = s.getRange(startRow, 1, numRows, 3)
// 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 emailAddress = "[email protected]";
var message = row[1]; // Second column
var emailSent = row[2]; // Third column
if (emailSent != EMAIL_SENT) { // Prevents sending duplicates
var subject = row[0]; // First column
MailApp.sendEmail(emailAddress, subject, message);
s.getRange(startRow + i, 3).setValue(EMAIL_SENT);
SpreadsheetApp.flush();
}
}
}
모든 도움을 주시면 감사하겠습니다.
감사합니다.
안녕하세요 쿠퍼, 도움을 주셔서 감사합니다! 죄송하지만 저는 Google 스크립팅에 익숙하지 않으며이 스크립트를 Sheet1과 함께 사용하는 방법을 모르겠습니다. 체크 표시를 선택하면받은 편지함에 아무것도 표시되지 않습니다. 나는 몇 가지를 바꿨다 : var startRow = 3 그리고 var dataRange = s.getRange (startRow, 1, numRows, 3) 왜냐하면 시트 1에서는 행이 다르므로 여전히 아무것도 아니다. 나는 곧 보낼 이메일을 목표로하고있다. 드롭 다운 메뉴에서 체크 표시를 클릭하면 셀 범위에서 이메일을 보내지 않고 행에 체크 표시가있는 경우에만 이메일을 보내고 싶습니다. –