无法保存文档-文档太大。但这不是

时间:2019-06-03 20:55:09

标签: google-apps-script google-sheets

我一直在运行一个时间触发的脚本,以将一张工作表从电子表格复制到另一张工作表。它工作了几个月,但现在我在最后一行遇到了错误:

ts.getRange(A1Range).setValues(SData); 
  

无法保存ID为DESTINATIONURLID的文档:文档太大。 (第37行,文件“代码”)

我确保源电子表格不会太大-它只有大约2000行长和65列宽。我有足够的Google驱动器空间来存储所有内容。

我尝试手动运行脚本,没有定时触发,并得到相同的错误。如果我只是复制并粘贴值,它也可以正常工作。

我的一个想法是,这可能与版本历史变得非常大有关,因为其他脚本会自动更新源电子表格。我认为setValues不会带来版本历史记录。

不知道还有什么可以尝试的,有什么想法吗?谢谢您的帮助!下面是完整的代码。

// Copy data from Google Sheet A to Google Sheet B
// Credit: https://ctrlq.org/code/20239-copy-google-spreadsheets for most of this code.

function cloneGoogleSheet() {
  //Source breadsheet id: 
  var ssA = 'SOURCEURLID';
  //Destination breadsheet id: 
  var ssB = 'DESTINATIONURLID';

  // source doc
  var sss = SpreadsheetApp.openById(ssA);

  // source sheet
  var ss = sss.getSheetByName('Dashboard Metrics Source');

  // 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();

  // target spreadsheet
  var tss = SpreadsheetApp.openById(ssB);

  // target sheet
  var ts = tss.getSheetByName('DataSauce'); 

  // Clear the Google Sheet before copy
  ts.clear({contentsOnly: true});

  // set the target range to the values of the source data
  ts.getRange(A1Range).setValues(SData);

};

0 个答案:

没有答案