使用计时器运行函数时出现错误“超出最大执行时间”。如何限制从第 1 行和第 35 列提取数据以加快速度

Error "Exceeded maximum execution time" while running function with timer. How to limit data pickup from Row1 and column upto 35 to speed it up

提问人:Nitin Kumar 提问时间:11/15/2023 最后编辑:marc_sNitin Kumar 更新时间:11/15/2023 访问量:27

问:

function onOpen() {
  const ui = SpreadsheetApp.getUi();
  ui.createMenu('Custom Menu')
      .addItem('Save Data','saveData')
      .addToUi();
}
 
// function to save data
function saveData() {
  
  {

  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheetByName('History');
  const date = sheet.getRange('History!A1').getValue();
  const liquid = sheet.getRange('History!B1').getValue();
  const value_liquid = sheet.getRange('History!C1').getValue();
  const mf = sheet.getRange('History!D1').getValue();
  const value_mf = sheet.getRange('History!E1').getValue();
  const debt = sheet.getRange('History!F1').getValue();
  const value_debt = sheet.getRange('History!G1').getValue();
  const nps = sheet.getRange('History!H1').getValue();
  const value_nps = sheet.getRange('History!I1').getValue();
  const stock = sheet.getRange('History!J1').getValue();
  const value_stock = sheet.getRange('History!K1').getValue();
  const us_bond = sheet.getRange('History!L1').getValue();
  const value_us_bond = sheet.getRange('History!M1').getValue();
  const metal = sheet.getRange('History!N1').getValue();
  const value_metal = sheet.getRange('History!O1').getValue();
  const payment = sheet.getRange('History!P1').getValue();
  const value_payment = sheet.getRange('History!Q1').getValue();
  const bank = sheet.getRange('History!R1').getValue();
  const value_bank = sheet.getRange('History!S1').getValue();
  const cash = sheet.getRange('History!T1').getValue();
  const value_cash = sheet.getRange('History!U1').getValue();
  const nps1 = sheet.getRange('History!V1').getValue();
  const nps2 = sheet.getRange('History!W1').getValue();
  const nps3 = sheet.getRange('History!X1').getValue();
  const nps4 = sheet.getRange('History!Y1').getValue();
  const nps5 = sheet.getRange('History!Z1').getValue();
  const nps6 = sheet.getRange('History!AA1').getValue();
  const lddiary = sheet.getRange('History!AB1').getValue();
  const lddiary_val = sheet.getRange('History!AC1').getValue();
  const ldnewl = sheet.getRange('History!AD1').getValue();
  const ldnewl_val = sheet.getRange('History!AE1').getValue();
  const ldbook = sheet.getRange('History!AF1').getValue();
  const ldbook_val = sheet.getRange('History!AG1').getValue();
  sheet.appendRow([date,liquid,value_liquid,mf,value_mf,debt,value_debt,nps,value_nps,stock,value_stock,us_bond,value_us_bond,metal,value_metal,payment,value_payment,bank,value_bank,cash,value_cash,nps1,nps2,nps3,nps4,nps5,nps6,lddiary,lddiary_val,ldnewl,ldnewl_val,ldbook,ldbook_val]);
  
}
}

删除了用于提交代码的函数命令。我只想将第 1 行的历史记录保存到第 35 列,该列从其他工作表和计算中获取数据。请帮忙,我是 appscript 的新手。

将此数据保存到下面的任何空行中。我尝试添加getsheets(1,1,100,35),但无法正确完成。请帮忙给出解决方案。谢谢

性能 超时 电子表格 限制 历史记录

评论


答: 暂无答案