我有一个脚本,我似乎无法做得很好。
Spreadsheet1人填写,因为他们有一个" Hot Job",基本上这会为负责该工作的人创建一个纸质记录/透明度。
Spreadsheet2更多的是报告工具,有多少来自他们的理由和来自哪个客户。
Spreadsheet1将获得一个新标签' Sheet'每周,在每周结束时,我想将整个范围发送到spreadsheet2,而不会通过时间驱动的触发器写入已经在电子表格2上的任何信息。 IE getLastRow()然后在下面插入新数据。
这是我目前所处的位置,这将在某些时候完成我的要求。有时我会得到一个"该范围的坐标或尺寸无效"错误,我不知道为什么,因为有时候它有效。
function hotJob() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var dropDown = ss.getSheetByName("Dropdown");
var sheetName =dropDown.getRange("H2").getValue();
var sheet = ss.getSheetByName(sheetName);
var data = sheet.getRange("A2:O").getValues();
var rowsInData = data[0].length;
var colsInData = data[0].length;
var mdURL = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/1Dj34hO55q_AYISk0TxpCyVl55rSoeOGpZ1dmuJli8IE/edit#gid=2081965371');
var mdSheet = mdURL.getSheetByName("Hot Jobs");
var mdLastRow = mdSheet.getLastRow();
mdSheet.insertRows(rowsInData);
mdSheet.getRange(mdLastRow, 1, rowsInData, colsInData).setValues(data);
}
非常感谢任何帮助。我已经搜索并尝试了我在这里找到的多个选项,但是无法使其中的任何一个适应我的情况。
谢谢, 泰勒
答案 0 :(得分:0)
这里有两个相同的值
var rowsInData = data[0].length;
var colsInData = data[0].length;
第一个在长度之前不应该有[0]
。