사용자가 Google 시트를 Google 시트에 제출할 때마다 양식 필드의 이메일 주소를 사용하여 자동으로 이메일 답장을 보내도록 OnSubmit 기능을 트리거하고, 옳고/잘못 '데이터 제출 확인. 최신 양식 제출 데이터가 시트의 마지막 행에 들어가기 때문에 다음 코드를 사용하여 시트의 두 데이터를 모두 추출했습니다 (전자 메일 주소에 함수 매개 변수를 사용할 수 있음에도 불구하고).Google 양식 제출시 이메일 보내기
또한 양식 제출 이벤트 트리거 및 전자 메일 인증을 이미 설정했습니다. 그러나 전자 메일은 작동하지 않는 것 같습니다. 양식 제출시 트리거되도록 설정되어 있으면 스크립트 편집기에서이 기능을 실행해야합니까? 실행을 클릭하면 코드가 실행 시간을 초과합니다.
function OnSubmit(e) {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = sheet.getLastRow()-1;
var numRows = 1; // Number of rows altogether
// Fetch the range of cells A(last row):G(last row)
var dataRange = sheet.getRange(startRow, 1, numRows, 7);
// Fetch values for each row in the Range.
var data = dataRange.getValues();
for (i in data) {
var row = data[i];
var emailAddress = row[2]; // Column C of last row
var message = "";
while(row[6] === "") { // Delay until data verification is done
Utilities.sleep(10000);
}
var subject = row[6] // Column G (data verification cell) of last row
MailApp.sendEmail(emailAddress, subject, message);
}
}
로거를 사용하여 실행 추적 –
좀 자세히 설명해 주시겠습니까? Google Apps 스크립트를 처음 사용해 본 것은 이번이 처음입니다. 온라인으로 읽은 내용을 토대로 코드를 정리했습니다. –
이 코드 부분은 사용할 수 없습니다. 'while (row [6] === "") {// 데이터 확인이 완료 될 때까지 지연 Utilities.sleep (10000); }'함수가 호출 될 때 row [6]이 비어 있으면 루프가 항상 무한대가되도록 스크립트 실행 중에 데이터가 업데이트되지 않기 때문입니다. –