0

我的程序中有一个电子表格“ECO”,其中有几张名为“a”、“b”、“c”、“d”的工作表。当我将工作表“a”复制到新的电子表格“NEWECO”时,就可以了。

var g2= ECO.getSheetByName("a")            
    g2.copyTo(NEWECO)

但是当我想复制另一张纸时,它不起作用

例子:

var g4= ECO.getSheetByName("c")            
    g4.copyTo(NEWECO) 

节目说,(法语):“Une erreur s'est produite sur le serverur。Nous chargeons actuellement votre feuille de calcul...”

这意味着由于工作表“c”而导致服务器端出现错误,但对于工作表“a”则正常。

那么,问题是来自工作表还是谷歌的内存问题?

太感谢了。

4

2 回答 2

0

如果这两个片段是一个脚本的一部分,则尝试插入 SpreadsheetApp.flush(); 它们之间。

于 2012-07-27T20:46:54.403 回答
0

如果您只是想将一张表的数据复制到另一张表,请尝试以下脚本:

function CopyDataToNewFile() {
  var sss = SpreadsheetApp.openById('SOURCE'); // sss = source spreadsheet
  var ss = sss.getSheetByName('SOURCE_SHEET'); // ss = source sheet
  //Get full range of data
  var SRange = ss.getDataRange();
  //get A1 notation identifying the range
  var A1Range = SRange.getA1Notation();
  //get the data values in range
  var SData = SRange.getValues();

  var tss = SpreadsheetApp.openById('TARGET'); // tss = target spreadsheet
  var ts = tss.getSheetByName('TARGET_SHEET'); // ts = target sheet
  //set the target range to the values of the source data
  ts.getRange(A1Range).setValues(SData);

} 

SOURCE只需将, SOURCE_SHEET, TARGET, 和替换TARGET_SHEET为适合您需要的内容即可。

于 2021-04-21T15:18:59.250 回答