在Google表单上提交Google表格中活动行的明确单元格

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

我对google sheet脚本很新,并寻求一些帮助。我正在尝试制作一个谷歌脚本,在用户提交后会删除响应表中的单元格。由于这可能是表单编辑网址,因此可能不一定是最后一行。

因此,每次提交/编辑表单时,都会清除AN:AQ列。

任何帮助非常感谢


我正在为任何遇到此问题的人添加工作脚本给OP的问题。

function onFormSubmit11(e) { 
   var range = e.range; 
   var ss = range.getSheet(); 
   var row = range.getRowIndex(); 

ss.getRange("AN"+row).clear(); 
ss.getRange("AO"+row).clear(); 
ss.getRange("AP"+row).clear() 
ss.getRange("AQ"+row).clear() 
} 
google-apps-script google-sheets google-form
2个回答
0
投票

Google表单调用的Spreadsheet触发器包含Range对象。您可以检索链接到范围的工作表以及链接到当前表单提交的行的索引。

function formTrigger(e) {
  var range = e.range;
  var sheet = range.getSheet();
  var rowIndex = row.getRowIndex();
  sheet.getRange(rowIndex + 1, 1).setValue("Hello");
}

0
投票

您可以尝试像通过链接电子表格运行脚本的onFormSubmit一样简单。下面的脚本将在每次提交表单时清除AN:AQ,这是我认为您要求的。

至于编辑,这是我试图在我自己的问题中找出自己的东西!

function onFormSubmit() {

var ss = SpreadsheetApp.getActiveSpreadsheet()
var sh = ss.getActiveSheet()

sh.getRange('AN1:AQ').clear();

}

你好,我们又见面了,

试试这个。和以前一样,确保你的触发器在OnFormSubmit上设置,它应该完美无缺。我自己测试了它,它只清除了AN:AQ on row(无论表单编辑的地方)之间的范围。如果要删除不同的部分,只需将AN:AQ替换为您要清除的任何列。

function onFormSubmit(e) {

var range = e.range;
var ss = range.getSheet();
var row = range.getRowIndex(); 

ss.getRange("AN:AQ"+row).clear();

}
© www.soinside.com 2019 - 2024. All rights reserved.