Google apps script 谷歌应用程序脚本:我如何获得一个表单,将其是/否答案写回精确的电子表格和单元格?
我为请假表单创建了以下代码。我如何才能得到它,以便当经理通过生成表单的方式审查请求时,将决策添加回原始电子表格?正是这个表单“form=FormApp.create”(“请假请求”+UID)”,我希望是/否响应返回到原始表单。我已经查看了可执行触发器,但不确定这是否适用于我的情况Google apps script 谷歌应用程序脚本:我如何获得一个表单,将其是/否答案写回精确的电子表格和单元格?,google-apps-script,Google Apps Script,我为请假表单创建了以下代码。我如何才能得到它,以便当经理通过生成表单的方式审查请求时,将决策添加回原始电子表格?正是这个表单“form=FormApp.create”(“请假请求”+UID)”,我希望是/否响应返回到原始表单。我已经查看了可执行触发器,但不确定这是否适用于我的情况 var SpreadsheetID = ""; var SheetName = "" function onFormSubmit(e) { var ss = Sp
var SpreadsheetID = "";
var SheetName = ""
function onFormSubmit(e) {
var ss = SpreadsheetApp.openById(SpreadsheetID)
var sheet = ss.getSheetByName(SheetName)
/**Gets last row in data series*/
var Avals = sheet.getRange("A1:A").getValues();
var Alast = Avals.filter(String).length;
/**Gets email address from spreadsheet*/
var range = sheet.getRange(Alast,"17");
var emailaddy = range.getValue();
var range_prenom = sheet.getRange(Alast,"18");
var email_recep = range_prenom.getValue();
var range_UID = sheet.getRange(Alast,"19");
var UID = range_UID.getValue();
/** Following data is the same regardless of whether whole day or part day */
var name = e.namedValues.Name[0];
var date_from = e.namedValues.Date_From[0];
var leave_type = e.namedValues.Leave_type[0];
var paid = e.namedValues.Paid[0];
var info = e.namedValues.Add_info[0];
var cover = e.namedValues.Cover[0];
var period = e.namedValues.Whole_day[0];
var subject = "Leave Request Submitted from " + name;
var date_to = e.namedValues.Date_to[0];
var time_from = e.namedValues.Time_from[0];
var time_to = e.namedValues.Time_to[0];
Logger.log(Alast);
Logger.log(emailaddy);
Logger.log(e);
Logger.log(e.namedValues);
/** Following section is the creation of the form */
/**Following is for the whole day answer */
if (period == 'Yes'){
var form = FormApp.create("Request for Leave" + UID)
.setTitle(name + " REQUEST FOR LEAVE" )
.setDescription("LEAVE DATES REQUESTED; \n\n" + date_from + " to " + date_to + "\n\nTYPE OF LEAVE; \n\n" + paid + " " + leave_type + "\n\nREASON FOR THE REQUEST; \n\n " + info + "\n\nCOVER HAS BEEN ARRANGED BY \n\n" + cover +"\n" )
}
/** Following is for the partial day request */
else{
var form = FormApp.create("Request for Leave" + UID)
.setTitle(name + " PARTIAL DAY REQUEST FOR LEAVE" )
.setDescription("LEAVE DATE REQUESTED; \n\n" + date_from + " between " + time_from + " and " + time_to + "\n\nTYPE OF LEAVE; \n\n" + paid + " " + leave_type + "\n\nREASON FOR THE REQUEST; \n\n " + info + "\n\nCOVER HAS BEEN ARRANGED BY \n\n" + cover +"\n" );
}
// radiobuttons
item = "Leave approved?";
var choices = ["YES", "NO",];
form.addMultipleChoiceItem()
.setTitle(item)
.setChoiceValues(choices)
.setRequired(true);
var form_url = form.getPublishedUrl()
Logger.log(form_url)
var message = "Please review leave request here; \n " + form_url
var form_ID = form.getId()
Logger.log(form_ID)
SpreadsheetApp
.getActiveSheet()
.getRange(Alast,"20")
.setValue(form_ID);
MailApp.sendEmail (emailaddy, subject, message)
}
您可能可以使用UID和其他标记以及开发人员元数据来保持指向原始工作表的指针。