我对使用应用脚本进行编码非常陌生,但我正在尝试设置一个代码,以将新的Google表单电子表格提交的最后一行转移到同一工作簿中的另一张纸上。我尝试这样做的原因是,我可以对数据进行简单的计算并编辑数据(无法使用Query函数编辑数据)。
我有一张纸被称为(表单响应1),另一张纸被称为(客户)。填写表格后,所有答案当然都会自动转移到“表格响应1”表格中。我想将Form Response 1工作表的最后一行自动复制到Clients工作表,以便可以编辑信息并将其用于计算中,而不会丢失原始提交的信息,该原始提交将出现在Form Responses 1(不是查询)中。
我用非常基础的知识尝试过两种代码,但它们都不起作用。代码可能很烂,但是任何帮助和建议都将不胜感激!
我尝试过的代码1
function onFormSubmit(e){
var ss = SpreadsheetApp.getSheetByName("Form responses 1")();
var copyFromRange = 'Form responses 1!A2:M999';
var copyToRangeStart = 'Clients!A2:M999';
copyValuesOnly(copyFromRange, copyToRangeStart);
}
我尝试过的代码2
function onFormSubmit(e){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getSheetByName('Form responses 1');
var r = s.getRange(s.getLastRow(),s.getLastColumn());
var data = r.getValues();
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("Clients");
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
targetSheet.getRange(targetSheet.getLastRow()+1,1,1,20).setValues(data);
我一直在浏览该网站,同时试图弄清楚这一点并了解有关脚本的更多信息,你们都为您提供了很大的帮助!
function onFormSubmit(e){
var ss=SpreadsheetApp.getActive();
ss.getSheetByName('Clients').appendRow(e.values);
}
您不希望获得最后一行,因为如果提交速度很快,则最后一行可能不是当前onFormSubmit触发器中的那一行。