【发布时间】:2020-06-18 07:21:53
【问题描述】:
我有一个 google sheet 脚本,当提交表单时,它会做一些事情,然后创建一个新工作表,最后将工作表作为电子邮件的附件发送。它工作正常但是当两个表单同时提交时(当第二个表单在触发器完成之前提交时)电子邮件没有发送并且它根本不起作用
这是我的代码:
function onSubmit(e){
Logger.log('submit ran');
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var calculate = ss.getSheets()[2];
var Responses = ss.getSheets()[0];
var report = ss.getSheets()[1];
var report1= ss.getSheets()[3];
var lastRow = Responses.getLastRow();
var copyrange = SpreadsheetApp.CopyPasteType.PASTE_FORMULA, false);
SpreadsheetApp.flush();
var maxRow1 = report1.getMaxRows();
var lastRow1 = report1.getLastRow();
SpreadsheetApp.flush();
report1.deleteRows(9+count, (172-(9+count)))
SpreadsheetApp.flush();
var email = sB;
var subject = "راید ریپورت "+sa;
var body = se;
var calculate = ss.getSheets()[2];
var Responses = ss.getSheets()[0];
var report = ss.getSheets()[1];
var newSheetid = SpreadsheetApp.create("promoter report "+si,30,60).getId();
var newSheet= DriveApp.getFileById(newSheetid);
DriveApp.getFolderById("1glwG1---------------tW").addFile(newSheet)
newSheet.getParents().next().removeFile(newSheet);
var sheet = source.getSheets()[3];
var destination = SpreadsheetApp.openById(newSheetid);
sheet.copyTo(destination);
var source = SpreadsheetApp.getActiveSpreadsheet();
var sheet1= destination.getSheetByName("Sheet1").hideSheet();
var sheet1id=sheet1.getSheetId();
SpreadsheetApp.flush();
var pdf = newSheet.getAs('application/pdf')
MailApp.sendEmail(email,subject ,body, {attachments:[pdf]});
var sf = Responses.getRange(lastRow, 6).setValue("EMAIL_SENT")
SpreadsheetApp.flush();
}
【问题讨论】:
-
我的脚本我有行“获取最后一行”我认为当第二次提交此代码时会出错
标签: google-apps-script google-sheets triggers google-forms