Медленное выполнение для копирования данных с одного листа на другой с помощью скрипта Google App - PullRequest
0 голосов
/ 23 декабря 2019

Я бы хотел, чтобы вы помогли ускорить этот скрипт, пожалуйста. Я получил скрипт из ответа от переполнения стека. Это занимает больше времени, чем нужно (30-50 секунд), хотя раньше этого не было.

function FormExec() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sinput = ss.getSheetByName("Slip");

  var rng1 = sinput.getRange("B3").getValue();
  var rng2 = sinput.getRange("D3").getValue();
  var rng3 = sinput.getRange("B5").getValue();
  var rng4 = sinput.getRange("D5").getValue();
  var rng5 = sinput.getRange("B7").getValue();
  var rng6 = sinput.getRange("D7").getValue();
  var rng7 = sinput.getRange("J1").getValue();

  if(rng1 == 0 || rng2 == 0 || rng3 == 0 || rng4 == 0 || rng5 == 0 || rng6 == 0) {

  Browser.msgBox('Please fill all required fields.');

  } else {

  var soutput = ss.getSheetByName("Form Responses 5");
  var input = sinput.getRange(1, 10, 15).getValues();
  var flatin = [].concat.apply([], input);
  soutput.getRange(soutput.getLastRow()+1, 1,1,15).setValues([flatin]);
  soutput.insertRowAfter(soutput.getLastRow());  
    resetSlip();
  };
}

function resetSlip() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sinput = ss.getSheetByName("Slip");
  sinput.getRange("B3").clearContent();
  sinput.getRange("B11:H11").clearContent();
  sinput.getRange("B19").clearContent();
  sinput.getRange("D3").clearContent();
  sinput.getRange("B21:E21").clearContent();
  sinput.getRange("B5").clearContent();
  sinput.getRange("B15:E15").clearContent();
  sinput.getRange("B13:I13").clearContent();
  sinput.getRange("D5").clearContent();
  sinput.getRange("B9:I9").clearContent();
  sinput.getRange("B7").clearContent();
  sinput.getRange("D7").clearContent();
  sinput.getRange("B17:C17").clearContent();
  sinput.getRange("B5").setFormula("=K1");
  sinput.getRange("D3").setValue("=L1");
  sinput.getRange("B7").setValue("=M1");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...