Google Script에 문제가 있습니다. 실제로는 그대로 작동하지만 문제는 양식을 제출하고 다른 사람이 새 양식을 제출하면 제출 된 양식이 LastRow를 찾고 있기 때문에 더 이상 이메일을 보내지 않습니다. 이 문제가 제대로 작동하는 데 어려움을 겪고 있습니다. 누군가 도움을 줄 수 있습니까?수정 된 열에 따라 이전 Google 양식 제출으로 이메일 보내기
노란색으로 강조 표시된 열은 공급 업체가 오른쪽 (초록색)의 5 번째 열에 입력 한 내용을 '보낸 사람'으로 채워야 작성한 사람에게 전자 메일이 발송되었음을 알립니다. 형태. 여기
잘하면 더 나은 아이디어를 얻을 수있는 형태의 사진입니다 http://i57.tinypic.com/34tej4w.pngfunction sendNotification() {
var doc = SpreadsheetApp.getActiveSpreadsheet();
var sheet = doc.getSheets()[0];
var startRow = sheet.getLastRow();
var dataRange = sheet.getRange(startRow, 1, 1, 21) ;
var data = dataRange.getValues();
var row;
for (i in data) {
row = data[i];
var EMAIL_SENT = 'Sent';
var emailSent = row[19]; // Third column
if (emailSent != EMAIL_SENT) { // Prevents sending duplicates
//Define Notification Details
var subject = "Row 12 has been edited!";
var body =
'<html><body><b><u>Product Check</u></b>'
+ '<br><b>Time: </b>'
+ row[0]
+ '<br><b>Email requested: </b>'
+ row[1]
+ '<br><b>Request date: </b>'
+ row[2]
+ '<br><b>ISBN: </b>'
+ row[4]
+ '<br><b>Product Title: </b>'
+ row[7]
+ '<br><b>Supplier Name: </b>'
+ row[8]
+ '<br><b>PO Number: </b>'
+ row[10]
+ '<br><b>Comments: </b>'
+ row[12]
+ '<br>View the spreadsheet here: <a href="#"><b>Click here</b></a> </html></body>';
if (row[13] != '' && row[0] != '' && row[18] == '') {
var recipients = row[1];
var subject = "Column 'N' was edited!";
sheet.getRange(startRow, 19, 1, 1).setValue(EMAIL_SENT) && sheet.getRange(startRow, 19, 1, 1).setBackgroundColor("#00ff00");
SpreadsheetApp.flush();
MailApp.sendEmail({
to: recipients,
subject: subject,
htmlBody: body});
}
여러 명의 사용자가 같은 스프레드 시트에 동시에 액세스 할 때 문제가 발생합니까? –
양식을 제출하는 사용자 그룹 1 명과 응답 양식 (N 열)을 편집하는 사용자 그룹 1 명이 있습니다. 열 N을 편집 한 후 마지막 행만 전자 메일을 보냅니다. –