所以我是编程以及谷歌脚本的新手。我刚刚开始编写一个非常基本的脚本,将来自各种不同标签的数据编译成一个新的" home"选项卡 - 全部位于同一电子表格中。在运行脚本时,我得到了#34;我们很抱歉,发生了服务器错误。请稍等一下再试一次。 (第42行,文件"代码")"而且我不确定为什么。调试时,我可以看到正在提取正确的值。
代码如下,任何帮助将不胜感激。我也可能以非常低效的方式解决这个问题,所以任何建议都会有很大的帮助。 感谢
var SHEET_HOME = 'Home';
var SHEET_CCSF = 'CCSF2015';
var SHEET_FRANCE = 'FranceClusters';
var SHEET_SCOT = 'Scotland';
var SHEET_CCASIA = 'CCAsia2015';
var SHEET_NORDIC = 'NordicGames2015';
var SHEET_NORWAY = 'Norway';
var SHEET_GAMESCOM ='Gamescom2015';
function UpdateData() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var home = ss.getSheetByName(SHEET_HOME);
var ccsf = ss.getSheetByName(SHEET_CCSF);
var scot = ss.getSheetByName(SHEET_SCOT);
var ccasia = ss.getSheetByName(SHEET_CCASIA);
var nordic = ss.getSheetByName(SHEET_NORDIC);
var norway = ss.getSheetByName(SHEET_NORWAY);
var gamescom = ss.getSheetByName(SHEET_GAMESCOM);
// Determine length of each database
var length1 = ss.getSheetByName(SHEET_CCSF).getRange("N1").getValue();
var length2 = ss.getSheetByName(SHEET_SCOT).getRange("N1").getValue();
var length3 = ss.getSheetByName(SHEET_CCASIA).getRange("N1").getValue();
var length4 = ss.getSheetByName(SHEET_NORDIC).getRange("N1").getValue();
var length5 = ss.getSheetByName(SHEET_NORWAY).getRange("N1").getValue();
var length6 = ss.getSheetByName(SHEET_GAMESCOM).getRange("N1").getValue();
// Provide starting row for each additional range of data
var start2 = 4+length1;
var start3 = start2 + length2;
var start4 = start3 + length3;
var start5 = start4 + length4;
var start6 = start5 + length5;
// Select required range in each db
var range1 = ccsf.getRange("A2:L"+length1);
var range2 = scot.getRange("A2:L"+length2);
var range3 = ccasia.getRange("A2:L"+length3);
var range4 = nordic.getRange("A2:L"+length4);
var range5 = norway.getRange("A2:L"+length5);
var range6 = gamescom.getRange("A2:L"+length6);
// Fill Home tab with all data
range1.copyValuesToRange(home, 1, 12, 4, length1);
range2.copyValuesToRange(home, 1, 12, start2, length2);
range3.copyValuesToRange(home, 1, 12, start3, length3);
range4.copyValuesToRange(home, 1, 12, start4, length4);
range5.copyValuesToRange(home, 1, 12, start5, length5);
range6.copyValuesToRange(home, 1, 12, start6, length6);
}
答案 0 :(得分:0)
可能是因为不同的长度变量不能获得长度,而是指示范围的值。如果它是您所追求的值的长度,则必须添加.length
var length1 = ss.getSheetByName(SHEET_CCSF).getRange("N1").getValue().length;
....