从电子表格获取,处理和设置数据到另一个

时间:2018-02-14 16:43:06

标签: javascript arrays google-apps-script

我是GAS的新手。我正在尝试在一个电子表格中完成四个任务,其中有三个单独的表格。

  1. 我想复制'rawData表'中的数据,将其设置为数组,重新排列数组,并在'目标表'中设置值。并保持新的提交活动(即getLastRow / appendRow)。
  2. 在“目标表”中,我想根据状态为代码着色。
  3. 在“目标表”中创建一个按钮,以标记行(案例)完成并从“目标”移动到“完整工作表”。
  4. 并为每个添加onEdit触发器。
  5. 非常感谢您的意见。

    感谢。

     function colorCode() {
    
      var range = outerArray;
      Logger.log(range);
    
      var row = dBoard.getRange(dBoard.getLastRow(),1,1,dBoard.getLastColumn());
    
      var submitter = range[3];
      var status = range[11];
       Logger.log(submitter);
       Logger.log(status);
    
      //var column = range.getColumn();
      //var row = range.getRow();
    
    
      if (status === "Approved"){
        var rowToColor = row.offset(0,0,1,13);
        rowToColor.setBackground("#6bb2ff");     
      }
    
      else if (status === "Requester"){
        var rowToColor = row.offset(0,0,1,13);
        rowToColor.setBackground("#ffe16b"); 
      }
    
      else if (range === 12 && range > 1 && status === "Denied"){
        var rowToColor = row.offset(0,0,1,13);
        rowToColor.setBackground("#f9441b"); 
      }
    }
    
        var ss = SpreadsheetApp.getActiveSpreadsheet();
    var source1 = ss.getSheetByName("Copy of rawData");
    var dBoard = ss.getSheetByName("dBoard2");
    
    //function copyData() {
      //var rawD = source1.getRange(1,1,source1.getLastRow(),source1.getLastColumn()).getValues();
      //Logger.log(rawD);
    
    function setData() {
    
      var rawD = source1.getRange(source1.getLastRow(),1,1,source1.getLastColumn()).getValues();
    
      //Logger.log(limits);
    
      var columnA = rawD[0][0];
      var columnB = rawD[0][18];
      var columnC = rawD[0][13];
      var columnD = rawD[0][2];
      var columnE = rawD[0][3]
      var columnF = rawD[0][4];
      var columnG = rawD[0][5];
      var columnH = rawD[0][6];
      var columnI = rawD[0][7];
      var columnJ = rawD[0][8];
      var columnK = rawD[0][9];
      var columnL = rawD[0][11];
      var columnM = rawD[0][12];
    
      var outerArray = [columnA,
                        columnB,
                        columnC,
                        columnD,
                        columnE,
                        columnF,
                        columnG,
                        columnH,
                        columnI,
                        columnJ,
                        columnK,
                        columnL,
                        columnM];
    
      Logger.log(columnA);
      Logger.log(columnB);
      Logger.log(outerArray);
    
      dBoard.getRange(2,1,outerArray.length,outerArray.length);
      dBoard.appendRow(outerArray);
    }  
    

0 个答案:

没有答案