【发布时间】:2013-03-26 13:37:06
【问题描述】:
我有一个名为 Product Request Form (Responses) 的 Google 电子表格,其中包含三个标签为 Form Responses、Clifford 和 Jim 的工作表。在Form Responses 表中有三列:timestamp、ProductArtist 和ProductLabel。
我希望根据ProductLabel 下的单元格值将整行移动/剪切到Clifford 或Jim 工作表。例如。如果单元格值为Warner,我希望该行移至Clifford,如果单元格值为Universal,我希望该行移至Jim。
一旦有人填写了表格Form Responses,就可以方便地移动它们。
function onEdit(event) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = event.source.getActiveSheet();
var r = event.source.getActiveRange();
if(s.getName() == "Form Responses" && r.getColumn() == 6 && r.getValue() == "Warner") {
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("Clifford");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
s.getRange(row, 1, 1, numColumns).moveTo(target);
s.deleteRow(row);
}
}
我仍然很难理解如何编写“表单提交”脚本。我设法找到了一个类似的脚本,该脚本在编辑单元格值时有效,但是在提交表单时创建行时它不起作用。
【问题讨论】:
-
你已经尝试过什么?你有代码可以做一些你想要的吗?因为正如它所说,这个问题似乎是一个为你做功课的请求。
-
阅读有关可安装触发器的链接。在脚本编辑器中,您需要打开“资源”、“当前项目的触发器”,然后添加一个。您将指明函数名称和触发器的性质(表单提交)。 “onEdit”触发器不会在表单提交时触发,请参阅this answer 了解更多信息。
标签: forms google-apps-script google-sheets triggers