Есть ли лучший способ ускорить мой сценарий?

У меня есть листы на основе 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;
            }
       }
   }

0 ответов

Другие вопросы по тегам