簡體   English   中英

如何根據條件更改行顏色?

[英]How to change row color depending on criteria?

我是Google Apps腳本的新手,需要一些幫助來弄清楚如何對電子表格進行編碼。 電子表格由用戶提交表單填充。 我希望行顏色根據特定列的響應而改變。 這是我到目前為止的內容:

function colorRow(){
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Requests");
  var range = sheet.getDataRange();

  // will get the row
  var row = range.getRow();

  // get the cell value to compare
  var cellValue = range.getValue()

  if(cellValue == "Cancel Interpreter Request"){
    dataRange.setBackgroundRGB(255, 0, 0);
  }
  else if(cellValue == "Next Day Interpreter Request"){
    dataRange.setBackgroundRGB(201, 218, 248);
  }
  else if(cellValue == "Update Existing Interpreter Request"){
    dataRange.setBackgroundRGB(255, 255, 0);
  }
  else if(cellValue == "Same Day Request"){
    dataRange.setBackgroundRGB(106, 168, 79);
  }
  SpreadsheetApp.flush(); 
}

function onSubmit(e){
  colorRow();
}

有任何想法嗎?

getActiveSpreadsheet()僅在編輯電子表格時適用。 用戶提交表單時,沒有活動的電子表格。 請改用SpreadsheetApp.openById()

另外, getDataRange()為您提供整個圖紙的范圍。 如果要查找輸入最近表單提交的行,請使用e.range

function colorRow(dataRange){

  // get the cell value to compare
  var cellValue = dataRange.getValue()

  if(cellValue == "Cancel Interpreter Request"){
    dataRange.setBackgroundRGB(255, 0, 0);
  }
  else if(cellValue == "Next Day Interpreter Request"){
    dataRange.setBackgroundRGB(201, 218, 248);
  }
  else if(cellValue == "Update Existing Interpreter Request"){
    dataRange.setBackgroundRGB(255, 255, 0);
  }
  else if(cellValue == "Same Day Request"){
    dataRange.setBackgroundRGB(106, 168, 79);
  }
  SpreadsheetApp.flush(); 
}

function onSubmit(e){
  colorRow(e.range);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM