Есть ли лучший способ ускорить мой сценарий?
У меня есть листы на основе CRM, и я использовал приведенные ниже коды для целей автоматизации. Это займет несколько раз, чтобы завершить. Есть ли лучший способ кодирования для повышения производительности?
В этом приложении-скрипте 5 функций. NewEnquiry()
очистить все поля и показать неиспользованный идентификатор enquirer. Функция Add_Update() используется для добавления или обновления полей в соответствии с идентификатором enquirer. todaysfollowup()
это показать список людей, с которыми можно связаться до сегодняшнего дня.
listall()
Функция заполнит поля формы, используя идентификатор enquirer. get_used_cols(sheet, row_index)
это выяснить последний столбец определенной строки.
КОД:
function NewEnquiry()
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("New Enquiry");
var main = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Data");
var lastRow = main.getLastRow();
var Enq="ENQ";
var EnqID=(Enq+lastRow);
sheet.getRange(3,3).setValue(EnqID).setBackground('#F5F5DC');
sheet.getRange(4,3).setValue("").setBackground('#F5F5DC');
sheet.getRange(6,3).setValue("").setBackground('#F5F5DC');
sheet.getRange(6,4).setValue("").setBackground('#F5F5DC');
sheet.getRange(6,5).setValue("").setBackground('#F5F5DC');
sheet.getRange(6,6).setValue("").setBackground('#F5F5DC');
sheet.getRange(7,3).setValue("").setBackground('#F5F5DC');
sheet.getRange(9,3).setValue("").setBackground('#F5F5DC');
sheet.getRange(9,4).setValue("").setBackground('#F5F5DC');
sheet.getRange(9,5).setValue("").setBackground('#F5F5DC');
sheet.getRange(9,6).setValue("").setBackground('#F5F5DC');
sheet.getRange(11,3).setValue("").setBackground('#F5F5DC');
sheet.getRange(11,4).setValue("").setBackground('#F5F5DC');
sheet.getRange(11,5).setValue("").setBackground('#F5F5DC');
sheet.getRange(11,6).setValue("").setBackground('#F5F5DC');
sheet.getRange(13,3).setValue("").setBackground('#F5F5DC');
sheet.getRange(13,4).setValue("").setBackground('#F5F5DC');
sheet.getRange(13,5).setValue("").setBackground('#F5F5DC');
sheet.getRange(14,3).setValue("").setBackground('#F5F5DC');
sheet.getRange(14,5).setValue("");
sheet.getRange(14,6).setValue("");
sheet.getRange(15,5).setValue("");
sheet.getRange(16,3).setValue("").setBackground('#F5F5DC');
sheet.getRange(16,6).setValue("");
sheet.getRange(17,3).setValue("").setBackground('#F5F5DC');
sheet.getRange(18,3).setValue("").setBackground('#F5F5DC');
sheet.getRange(19,3).setValue("").setBackground('#F5F5DC');
};
function Add_Update()
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("New Enquiry");
var main = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Data");
var lastRow = main.getLastRow();
var Enq="ENQ";
var EnqID=(Enq+lastRow);
var range = sheet.getRange(3,3,17,4).getValues();
var range2= main.getRange(2,1,lastRow,1).getValues();
var tester= sheet.getRange(3,3).getValues();
var splitArray = tester.toString().split("ENQ");
var b=splitArray[1];
var c=b-(-1);
var range3=main.getRange(c,1,1,350);
if(range[16][0]!="")
{
if (range2[c-2] =="")
{
var a=1;
}
if (range2[c-2] !="")
{
var a=0;
}
main.getRange(c,1).setValue(range[0][0]);
main.getRange(c,2).setValue("Nayif");
main.getRange(c,3).setValue(range[1][0]);
main.getRange(c,4).setValue(range[3][0]);
main.getRange(c,5).setValue(range[3][1]);
main.getRange(c,6).setValue(range[3][2]);
main.getRange(c,7).setValue(range[3][3]);
main.getRange(c,8).setValue(range[6][0]);
main.getRange(c,9).setValue(range[6][1]);
main.getRange(c,10).setValue(range[6][2]);
main.getRange(c,11).setValue(range[6][3]);
main.getRange(c,12).setValue(range[8][0]);
main.getRange(c,13).setValue(range[8][1]);
main.getRange(c,14).setValue(range[8][2]);
main.getRange(c,15).setValue(range[8][3]);
main.getRange(c,16).setValue(range[10][0]);
main.getRange(c,17).setValue(range[10][1]);
main.getRange(c,18).setValue(range[10][2]);
main.getRange(c,19).setValue(range[11][0]);
main.getRange(c,20).setValue(range[11][2]);
main.getRange(c,21).setValue(range[12][2]);
main.getRange(c,22).setValue(range[13][0]);
main.getRange(c,23).setValue(range[13][3]);
main.getRange(c,25).setValue(range[15][0]);
main.getRange(c,26).setValue(range[16][0]);
main.getRange(c,24).setValue(range[14][0]);
var lastcol = get_used_cols(main, c);
main.getRange(c,lastcol+1).setValue(new Date());
main.getRange(c,lastcol+2).setValue(range[4][0]);
main.getRange(c,lastcol+3).setValue(range[14][0]);
if (a==1)
{
SpreadsheetApp.getUi().alert('Added ,Succesfully');
}
if (a==0)
{
SpreadsheetApp.getUi().alert('Updated, Succesfully');
}
sheet.getRange(3,3).setValue("").setBackground('#F5F5DC');
sheet.getRange(4,3).setValue("").setBackground('#F5F5DC');
sheet.getRange(6,3).setValue("").setBackground('#F5F5DC');
sheet.getRange(6,4).setValue("").setBackground('#F5F5DC');
sheet.getRange(6,5).setValue("").setBackground('#F5F5DC');
sheet.getRange(6,6).setValue("").setBackground('#F5F5DC');
sheet.getRange(7,3).setValue("").setBackground('#F5F5DC');
sheet.getRange(9,3).setValue("").setBackground('#F5F5DC');
sheet.getRange(9,4).setValue("").setBackground('#F5F5DC');
sheet.getRange(9,5).setValue("").setBackground('#F5F5DC');
sheet.getRange(9,6).setValue("").setBackground('#F5F5DC');
sheet.getRange(11,3).setValue("").setBackground('#F5F5DC');
sheet.getRange(11,4).setValue("").setBackground('#F5F5DC');
sheet.getRange(11,5).setValue("").setBackground('#F5F5DC');
sheet.getRange(11,6).setValue("").setBackground('#F5F5DC');
sheet.getRange(13,3).setValue("").setBackground('#F5F5DC');
sheet.getRange(13,4).setValue("").setBackground('#F5F5DC');
sheet.getRange(13,5).setValue("").setBackground('#F5F5DC');
sheet.getRange(14,3).setValue("").setBackground('#F5F5DC');
sheet.getRange(14,5).setValue("");
sheet.getRange(14,6).setValue("");
sheet.getRange(15,5).setValue("");
sheet.getRange(16,3).setValue("").setBackground('#F5F5DC');
sheet.getRange(16,6).setValue("");
sheet.getRange(17,3).setValue("").setBackground('#F5F5DC');
sheet.getRange(18,3).setValue("").setBackground('#F5F5DC');
sheet.getRange(19,3).setValue("").setBackground('#F5F5DC');
}
if(range[16][0]=="")
{
SpreadsheetApp.getUi().alert('Please fill Enquiry Status!');
}
};
function todaysfollowup()
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("New Enquiry");
var main = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Data");sheet.getRange(3,3).setValue("").setBackground('#F5F5DC');
sheet.getRange(3,8).setValue("ENQ ID").setBackground('#F5F5DC');
sheet.getRange(3,9).setValue("NAME").setBackground('#F5F5DC');
sheet.getRange(4,3).setValue("").setBackground('#F5F5DC');
sheet.getRange(6,3).setValue("").setBackground('#F5F5DC');
sheet.getRange(6,4).setValue("").setBackground('#F5F5DC');
sheet.getRange(6,5).setValue("").setBackground('#F5F5DC');
sheet.getRange(6,6).setValue("").setBackground('#F5F5DC');
sheet.getRange(7,3).setValue("").setBackground('#F5F5DC');
sheet.getRange(9,3).setValue("").setBackground('#F5F5DC');
sheet.getRange(9,4).setValue("").setBackground('#F5F5DC');
sheet.getRange(9,5).setValue("").setBackground('#F5F5DC');
sheet.getRange(9,6).setValue("").setBackground('#F5F5DC');
sheet.getRange(11,3).setValue("").setBackground('#F5F5DC');
sheet.getRange(11,4).setValue("").setBackground('#F5F5DC');
sheet.getRange(11,5).setValue("").setBackground('#F5F5DC');
sheet.getRange(11,6).setValue("").setBackground('#F5F5DC');
sheet.getRange(13,3).setValue("").setBackground('#F5F5DC');
sheet.getRange(13,4).setValue("").setBackground('#F5F5DC');
sheet.getRange(13,5).setValue("").setBackground('#F5F5DC');
sheet.getRange(14,3).setValue("").setBackground('#F5F5DC');
sheet.getRange(14,5).setValue("");
sheet.getRange(14,6).setValue("");
sheet.getRange(15,5).setValue("");
sheet.getRange(16,3).setValue("").setBackground('#F5F5DC');
sheet.getRange(16,6).setValue("");
sheet.getRange(17,3).setValue("").setBackground('#F5F5DC');
sheet.getRange(18,3).setValue("").setBackground('#F5F5DC');
sheet.getRange(19,3).setValue("").setBackground('#F5F5DC');
for(var i=5;i<15;i++)
{ for(var j=8;j<10;j++)
{
sheet.getRange(i,j).setValue("");
}
}
};
function listall()
{
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("New Enquiry");
sheet.getRange(3,8).setValue("Date").setBackground('#d7f7d6');
sheet.getRange(3,9).setValue("Responses").setBackground('#d7f7d6');
sheet.getRange(3,3).setValue("=I19").setBackground('#d7f7d6');
sheet.getRange(4,3).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,3,false)))").setBackground('#d7f7d6');
sheet.getRange(6,3).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,4,false)))").setBackground('#d7f7d6');
sheet.getRange(6,4).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,5,false)))").setBackground('#d7f7d6');
sheet.getRange(6,5).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,6,false)))").setBackground('#d7f7d6');
sheet.getRange(6,6).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,7,false)))").setBackground('#d7f7d6');
sheet.getRange(7,3).setValue("").setBackground('#F5F5DC');
sheet.getRange(9,3).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,8,false)))").setBackground('#d7f7d6');
sheet.getRange(9,4).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,9,false)))").setBackground('#d7f7d6');
sheet.getRange(9,5).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,10,false)))").setBackground('#d7f7d6');
sheet.getRange(9,6).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,11,false)))").setBackground('#d7f7d6');
sheet.getRange(11,3).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,12,false)))").setBackground('#d7f7d6');
sheet.getRange(11,4).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,13,false)))").setBackground('#d7f7d6');
sheet.getRange(11,5).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,14,false)))").setBackground('#d7f7d6');
sheet.getRange(11,6).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,15,false)))").setBackground('#d7f7d6');
sheet.getRange(13,3).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,16,false)))").setBackground('#d7f7d6');
sheet.getRange(13,4).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,17,false)))").setBackground('#d7f7d6');
sheet.getRange(13,5).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,18,false)))").setBackground('#d7f7d6');
sheet.getRange(14,3).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,19,false)))").setBackground('#d7f7d6');
sheet.getRange(14,5).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,20,false)))");
sheet.getRange(14,6).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,21,false)))");
sheet.getRange(15,5).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,22,false)))");
sheet.getRange(16,3).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,23,false)))").setBackground('#d7f7d6');
sheet.getRange(16,6).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,24,false)))");
sheet.getRange(17,3).setValue("").setBackground('#F5F5DC');
sheet.getRange(18,3).setValue("").setBackground('#F5F5DC');
sheet.getRange(19,3).setValue("").setBackground('#F5F5DC');
sheet.getRange(5,8).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,27,false)))");
sheet.getRange(5,9).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,28,false)))");
sheet.getRange(6,8).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,30,false)))");
sheet.getRange(6,9).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,31,false)))");
sheet.getRange(7,8).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,33,false)))");
sheet.getRange(7,9).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,34,false)))");
sheet.getRange(8,8).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,36,false)))");
sheet.getRange(8,9).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,37,false)))");
sheet.getRange(9,8).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,39,false)))");
sheet.getRange(9,9).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,40,false)))");
sheet.getRange(10,8).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,42,false)))");
sheet.getRange(10,9).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,43,false)))");
sheet.getRange(11,8).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,45,false)))");
sheet.getRange(11,9).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,46,false)))");
sheet.getRange(12,8).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,48,false)))");
sheet.getRange(12,9).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,49,false)))");
sheet.getRange(13,8).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,51,false)))");
sheet.getRange(13,9).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,52,false)))");
sheet.getRange(14,8).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,54,false)))");
sheet.getRange(14,9).setValue("=ARRAYFORMULA(IFERROR(VLOOKUP(C3,Data!A2:AR,55,false)))");
};
function get_used_cols(sheet, row_index)
{
for (var c = sheet.getLastColumn(); c--; c > 0)
{
if (sheet.getRange(row_index, 1, sheet.getLastRow(), sheet.getLastColumn()).getCell(1, c).getValue() != "")
{
return(c);
break;
}
}
}