【发布时间】:2019-01-13 16:33:59
【问题描述】:
我有一个电子表格供人们填写,然后点击提交按钮。该按钮会创建一个 PDF 并将该数据通过电子邮件发送给人们。每次有人提交数据时,都需要在另一个电子表格中编译部分数据。
我的代码可以复制范围并将其粘贴到电子表格中。
function CopyDataToNewFile() {
var sss = SpreadsheetApp.openById('abcd1234'); // sss = source spreadsheet
var ss = sss.getSheetByName('Timesheet'); // ss = source sheet
//Get full range of data
var SRange = ss.getRange("A10:L22");
//get A1 notation identifying the range
var A1Range = SRange.getA1Notation();
//get the data values in range
var SData = SRange.getValues();
var tss = SpreadsheetApp.openById('abcd1234'); // tss = target spreadsheet
var ts = tss.getSheetByName('Info'); // ts = target sheet
var TRange = ts.getRange("A1:L13");
var T1Range = TRange.getA1Notation();
//set the target range to the values of the source data
ts.getRange(T1Range).setValues(SData);
}
我对这段代码有两个问题:
- 我无法选择特定的数据单元格,我需要选择 J6 以及整个第 11 行。如果它在 A14 中看到一个值,那么它会复制整个第 14 行。但如果 A14 中没有任何内容,则不会复制该数据。
- 每次提交数据时数据都会自行覆盖,我需要每次添加新数据都显示在最后一个下方。
几个小时以来,我一直在寻找解决方案,但对 Javascript 的精通不足以编写任何自定义内容。谢谢!
【问题讨论】:
标签: javascript excel google-apps-script google-sheets spreadsheet