Я бы хотел, чтобы вы помогли ускорить этот скрипт, пожалуйста. Я получил скрипт из ответа от переполнения стека. Это занимает больше времени, чем нужно (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");
}