Google apps script 若单元格的颜色为某一特定颜色,则删除Google电子表格中的一行

Google apps script 若单元格的颜色为某一特定颜色,则删除Google电子表格中的一行,google-apps-script,google-sheets,google-apps,Google Apps Script,Google Sheets,Google Apps,所以我已经绞尽脑汁想了一段时间了,不知道为什么这个代码不起作用 我从上一篇SO文章中获得了代码,从那里我更改了脚本以执行我需要的操作 function onOpen() { // get active spreadsheet var ss = SpreadsheetApp.getActiveSpreadsheet(); // create menu var menu = [{name: "Evaluate Column J/Call Duration", functionNam

所以我已经绞尽脑汁想了一段时间了,不知道为什么这个代码不起作用

我从上一篇SO文章中获得了代码,从那里我更改了脚本以执行我需要的操作

function onOpen() {
  // get active spreadsheet
  var ss = SpreadsheetApp.getActiveSpreadsheet();

  // create menu
  var menu = [{name: "Evaluate Column J/Call Duration", functionName: "deleteRow"}];

  // add to menu
  ss.addMenu("Delete Calls Under 1 Minute", menu);
}

function deleteRow() {
  // get active spreadsheet
  var ss = SpreadsheetApp.getActiveSpreadsheet();

 // get active/selected row
  var activeRow = ss.getActiveRange().getRowIndex();

  // get content column J
  var columnJ = ss.getRange("J"+activeRow).getFontColor();

  // evaluate whether cell has white text or not
  if (columnJ == 'white' || columnJ == '#FFFFFF') {
    ss.deleteRow(parseInt(activeRow));
  }
}
基本上我有一个电子表格,它是从一个超级古老的呼叫跟踪软件导出的。我们的主要问题是,我们需要在1分钟内拨打任何电话以及任何重复的电话。因此,我们为这两种格式都添加了条件格式。这是为了摆脱任何1分钟的呼叫,这反过来应该删除整行


有人知道这件事吗?谢谢大家。

第j栏是第10栏。颜色为“#ffffff”格式。红色是“#ff0000”。此函数将删除选定列中具有选定颜色的行

  function jakeDeleteRow(column,color) {
  var column = (typeof(column)!='undefined')?column:10;
  var color = (typeof(color)!='undefined')?color:'#ff0000; 
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sht = ss.getActiveSheet();
  var rng = ss.getDataRange();
  var rngA = rng.getBackgrounds()
  for(var i=rngA.length-1;i>-1;i--)
  {
    if(rngA[i][column-1]==color)
    {
      sht.deleteRow(i+1);
    }
  }
}

第j列是10。颜色为“#ffffff”格式。红色是“#ff0000”。此函数将删除选定列中具有选定颜色的行

  function jakeDeleteRow(column,color) {
  var column = (typeof(column)!='undefined')?column:10;
  var color = (typeof(color)!='undefined')?color:'#ff0000; 
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sht = ss.getActiveSheet();
  var rng = ss.getDataRange();
  var rngA = rng.getBackgrounds()
  for(var i=rngA.length-1;i>-1;i--)
  {
    if(rngA[i][column-1]==color)
    {
      sht.deleteRow(i+1);
    }
  }
}

删除这样的行时,最好从末尾开始。按原样,删除一行后,其余行将不对齐,删除的下一行将是错误的行。@ScampMichael是您的正确答案。我只是在想1。我们以前也遇到过类似的问题。@ScampMichael谢谢你的帮助。@Cooper我试过运行它,它只是删除了所有的行。脚本中是否需要调用它要查找的列或颜色?谢谢您需要提供两个参数column和color?当删除这样的行时,最好从末尾开始。按原样,删除一行后,其余行将不对齐,删除的下一行将是错误的行。@ScampMichael是您的正确答案。我只是在想1。我们以前也遇到过类似的问题。@ScampMichael谢谢你的帮助。@Cooper我试过运行它,它只是删除了所有的行。脚本中是否需要调用它要查找的列或颜色?谢谢您需要提供两个参数列和颜色?