【发布时间】:2016-04-03 23:24:32
【问题描述】:
我正试图弄清楚这一点,但我一定忽略了一些基本的东西。 (我花了好长时间才意识到我没有添加触发器。)
提交表单时,如果该页面的行数不足,它会自动展开。我有一个对帐页面,它逐行提取提交的数据并分析差异(表单收集可计费的时间和任务。)
因此,当 Form Responses 1 页面将展开时,我想在表单提交上使用触发器来向对帐页面添加一行并将公式复制下来。不过,我似乎无法添加该行。查看google page 以扩大行数,我也不确定我在那里做错了什么,但我认为我需要在我的计算机上添加更多的java 功能。
如果我只是简单地将示例复制并粘贴到新工作表中,大部分代码都是黑色的,而不是标准的编辑器颜色。保存弹出“Missing ; before statement. (line 1, file "Code")" 第一行就是“import com.google.gdata.client.spreadsheet.*;” 所以第零:我可以用来添加那个空白行的最基本的代码是什么? 然后首先:我是否需要导入一堆东西才能让这个(添加行)工作? 第二:如果是这样,并且我将工作表的所有权转让给某人,他们是否也需要进行导入? 第三:如果是这样,并且我想在另一台设备上进行编辑,我是否也需要在那里进行导入? 第四:该示例使用 Update() 但我似乎无法在 javascript 或 googlesheets api 文档中找到 Update() 函数。
这是我正在尝试的代码,注释掉的变体似乎不起作用:
function onFormSubmit(e) {
Logger.log('form submit triggered')
var sheet = SpreadsheetApp.getActive()
var sss = sheet.getSheetByName('Reconciliation')
var col2 = sss.getRange("B:B");
var col2val = col2.getValues();
var counter = 0;
var sssrange = sss.getDataRange();
// sss.Rows = sss.getLastRow() + 1 //Object does not allow properties to be added or changed if I uncomment - this seems to match the google example line though
Logger.log(sss.getLastRow());//=8
var newsssrange = sssrange.offset(1,0); // didn't actually think this would work (since it also had the .update() part that previously didn't work for me) but came across it and was getting desparate.
// sss.setRowCount(sss.getLastRow() + 1); // TypeError: Cannot find function setRowCount in object Sheet.
Logger.log(sss.getLastRow()); //=8
// sss.Update();//TypeError: Cannot find function Update in object Sheet.
}
【问题讨论】:
标签: google-api google-sheets google-spreadsheet-api google-forms