【发布时间】:2022-12-09 17:57:57
【问题描述】:
我的脚本有很多获取和设置值。我知道它会使脚本变慢。 我想改进我的代码,但我不确定该怎么做。 我用它来搜索另一张纸上的信息。 有时需要 2-3 分钟。
var wsformBN = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("formBN");
var wsCustomer = SpreadsheetApp.openById("SheetID").getSheetByName("SheetName");
//////////////
function clearCustomerInfo(){
wsformBN.getRange("C7:E8").clearContent();
wsformBN.getRange("C9:D12").clearContent();
wsformBN.getRange("H7:I11").clearContent();
wsformBN.getRange("H13:I15").clearContent();
}
//////////////
function searchCUtoBN(){
var values = wsCustomer.getDataRange().getDisplayValues();
var valuesFound=false;
for(var i=0 ; i<values.length; i++){
var rowValue = values[i];
var searchCustomerID = wsformBN.getRange("C4").getDisplayValue();
clearCustomerInfo()
if(rowValue[2] === searchCustomerID){
wsformBN.getRange("C7:E7").setValue(rowValue[3]);
wsformBN.getRange("C8:E8").setValue(rowValue[4]);
wsformBN.getRange("C9:E9").setValue(rowValue[5]);
wsformBN.getRange("C10:E10").setValue(rowValue[6]);
wsformBN.getRange("C11:E11").setValue(rowValue[7]);
wsformBN.getRange("C12:E12").setValue(rowValue[8]);
wsformBN.getRange("H7:I7").setValue(rowValue[11]);
wsformBN.getRange("H8:I8").setValue(rowValue[12]);
wsformBN.getRange("H9:I9").setValue(rowValue[13]);
wsformBN.getRange("H10:I10").setValue(rowValue[14]);
wsformBN.getRange("H11:I11").setValue(rowValue[15]);
wsformBN.getRange("H13:I13").setValue(rowValue[17]);
wsformBN.getRange("H14:I14").setValue(rowValue[18]);
wsformBN.getRange("H15:I15").setValue(rowValue[19]);
valuesFound=true;
return;
}}
if (valuesFound==false){
clearCustomerInfo()
}};
如果您知道如何编写此改进,请提供帮助。 我真的想要这个。
【问题讨论】:
标签: javascript google-apps-script google-sheets