Google apps script 当行有数据但为空时没有边框时的边框

Google apps script 当行有数据但为空时没有边框时的边框,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我有一张要动态添加边框以过滤结果的工作表。我让它在添加边框的地方工作,但当我选择另一个过滤器时,它会保留带有以前数据边框的行。所以,若数据集较小,则其下有所有空边框。我如何用这个脚本修复这个问题 function onEdit(ss) { var classeur = SpreadsheetApp.getActiveSpreadsheet(); var ss = classeur.getActiveSheet(); var range = ss.getRange("A5:a");

我有一张要动态添加边框以过滤结果的工作表。我让它在添加边框的地方工作,但当我选择另一个过滤器时,它会保留带有以前数据边框的行。所以,若数据集较小,则其下有所有空边框。我如何用这个脚本修复这个问题

function onEdit(ss) {
  var classeur = SpreadsheetApp.getActiveSpreadsheet();
  var ss = classeur.getActiveSheet(); 
  var range = ss.getRange("A5:a"); // Modified
  range.setBorder(false, false, false, false, false, false);
  var values = range.getValues();
  var offsetRow = range.getRowIndex(); // Added
  for (var i = 0; i < values.length; i++) {
    if (values[i][0]) { // Modified
      ss.getRange("A" + (i + offsetRow) + ":P" + (i + offsetRow))
      .setBorder(true, true, true, true, true, true, "black", 
       SpreadsheetApp.BorderStyle.SOLID_MEDIUM) // Modified
      .setBackground('#FFFFFF');
    }
  }
}
函数onEdit(ss){
var classeur=SpreadsheetApp.getActiveSpreadsheet();
var ss=classeur.getActiveSheet();
var range=ss.getRange(“A5:a”);//已修改
范围。顺序(假、假、假、假、假、假、假);
var values=range.getValues();
var offsetRow=range.getRowIndex();//已添加
对于(变量i=0;i
试试这个:

function onEdit(e) {
  var sh=e.range.getSheet();
  sh.getRange(1,1,sh.getMaxRows(),sh.getMaxColumns()).setBorder(false, false, false, false, false, false);
  var range = sh.getRange(5,1,sh.getLastRow()-4,1); // Modified
  range.setBorder(false, false, false, false, false, false);
  var values = range.getValues();
  for (var i=0;i<values.length;i++) {
    if (values[i][0]) { // Modified
       sh.getRange(i+5,1,1,16).setBorder(true, true, true, true, true, true, "black",SpreadsheetApp.BorderStyle.SOLID_MEDIUM).setBackground('#FFFFFF');
    }
  }
}
函数onEdit(e){
var sh=e.range.getSheet();
sh.getRange(1,1,sh.getMaxRows(),sh.getMaxColumns()).setOrder(false,false,false,false,false,false);
var range=sh.getRange(5,1,sh.getLastRow()-4,1);//修改
范围。顺序(假、假、假、假、假、假、假);
var values=range.getValues();
对于(var i=0;i尝试以下方法:

function onEdit(e) {
  var sh=e.range.getSheet();
  sh.getRange(1,1,sh.getMaxRows(),sh.getMaxColumns()).setBorder(false, false, false, false, false, false);
  var range = sh.getRange(5,1,sh.getLastRow()-4,1); // Modified
  range.setBorder(false, false, false, false, false, false);
  var values = range.getValues();
  for (var i=0;i<values.length;i++) {
    if (values[i][0]) { // Modified
       sh.getRange(i+5,1,1,16).setBorder(true, true, true, true, true, true, "black",SpreadsheetApp.BorderStyle.SOLID_MEDIUM).setBackground('#FFFFFF');
    }
  }
}
函数onEdit(e){
var sh=e.range.getSheet();
sh.getRange(1,1,sh.getMaxRows(),sh.getMaxColumns()).setOrder(false,false,false,false,false,false);
var range=sh.getRange(5,1,sh.getLastRow()-4,1);//修改
范围。顺序(假、假、假、假、假、假、假);
var values=range.getValues();
对于(var i=0;i