Google脚本e.values无法触发

问题描述 投票:0回答:1

我的电子表格中有多种表单。以下是触发器的快照。所有代码都写在电子表格中。

//only run once to set the trigger
//ScriptApp.newTrigger('QuotationFormSubmitTrigger').forForm('1zDMtv46H-nHqG4_Z1lNAACClNWe-RBZs9PtDKoqdWrc').onFormSubmit().create();

一旦提交报价单,脚本应该复制一个报价模板并填写所有表格信息。下面是我被卡住的代码的快照。每次启用e.values时,整个代码将无法工作。

function QuotationFormSubmitTrigger(e) {

//console.log(values);
//quotationID = argument[0];
//Logger.log(quotationID);
//copy quotation template file
//open quotation template file
var sheet = SpreadsheetApp.openById("1vwcpoKXCp27fRYWwC7qBoIgxDNU2Yx_Bk4UTvBPXF9Y");
var destFolder = DriveApp.getFolderById("1C3e5CpZzti5XhpPh2Kx7vlXdQ9ltdb24");

//var timestamp = e.values[0];
//var companyName = e.values[1];
//var quotationID = e.values[2];
//var contactName = e.values[4];
//product1 = values[5];
//product1qty = values[6];

//make a copy of template file and rename
riveApp.getFileById(sheet.getId()).makeCopy('testID', destFolder);

}
google-apps-script google-sheets google-form
1个回答
0
投票

此作品:

function QuotationFormSubmitTrigger(e) {
  Logger.log(JSON.stringify(e));
  var sh=e.range.getSheet();
  if(sh.getName()!='Sheet14') return;
  if(e.range.columnStart==1 && e.range.rowStart==1 && e.value=="TRUE" ) {
    e.range.setValue('FALSE');//I used a checkbox as a button to initiate the copy and this just resets the checkbox back to off. So it behave like a button that you click.
  }
  var fid="fileId";//No use in openById if you only want the id
  var destFolder = DriveApp.getFolderById("folderId");
  DriveApp.getFileById(fid).makeCopy('testID', destFolder);
}
© www.soinside.com 2019 - 2024. All rights reserved.