Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 使用脚本编辑器将条件格式应用于多列_Google Apps Script_Google Sheets_Google Sheets Api_Spreadsheet - Fatal编程技术网

Google apps script 使用脚本编辑器将条件格式应用于多列

Google apps script 使用脚本编辑器将条件格式应用于多列,google-apps-script,google-sheets,google-sheets-api,spreadsheet,Google Apps Script,Google Sheets,Google Sheets Api,Spreadsheet,我正在创建一个onEdit(e)函数,根据A列的值更新图表格式。我已经设置了一个列,以使用条件格式和数据验证下拉菜单进行适当的格式设置,但是如何使与更新单元格相邻的其他列具有相同的格式 见下面的代码: function onEdit(e) { // Get current active sheet var actSh = SpreadsheetApp.getActiveSpreadsheet(); // Get the integer value of the location th

我正在创建一个onEdit(e)函数,根据A列的值更新图表格式。我已经设置了一个列,以使用条件格式和数据验证下拉菜单进行适当的格式设置,但是如何使与更新单元格相邻的其他列具有相同的格式

见下面的代码:

function onEdit(e) {

// Get current active sheet
  var actSh = SpreadsheetApp.getActiveSpreadsheet();

  // Get the integer value of the location the change is made at
  var row = e.range.getRow();
  var col = e.range.getColumn();

  // Define the max range in columns
  var max = actSh.getLastColumn();

  // Set a range to apply the conditional rule to
  var range = actSh.getRange(row,(col+1),1,(max-1));

  if (col == 1) {
    // Get Rule for Column A
    var rule = e.newConditionalFormatRules().copy();
    var newRule = range.setConditionalFormatRules(rule);
  }
}
下面是一个电子表格的截图,我正试图让编辑工作,以参考什么我正试图完成。

如何在新范围内扩展条件格式 步骤如下:

  • 检索感兴趣的工作表
  • 使用
    getConditionalFormatRules()
  • 循环浏览所有规则
  • 使用
    getRanges()
  • 循环遍历这些范围,以验证您感兴趣的列是否是其中一个范围
  • 如果发现规则应用于您感兴趣的列(
    If(ranges[j].getColumn()==1)
    )-使用
    copy()
  • 使用
    setRanges([range])
    将感兴趣的范围分配给新复制的规则,并使用
    build
  • 使用
    push()
  • 退出所有循环后,使用
    setConditionalFormatRules(rules)
样本

function onEdit(e) {  
  // Get current active sheet
  var actSh = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();  
  // Get the integer value of the location the change is made at
  var row = e.range.getRow();
  var col = e.range.getColumn();  
  // Define the max range in columns
  var max = actSh.getLastColumn();  
  // Set a range to apply the conditional rule to
  var range = actSh.getRange(row,(col+1),1,(max-1));  
  if (col == 1) {
    var rules = actSh.getConditionalFormatRules();
    for (var i = 0; i < rules.length; i++){
      var ranges = rules[i].getRanges();
      for (var j = 0; j < ranges.length; j++){
        if (ranges[j].getColumn() == 1){
          var rule = rules[i].copy();
          rule.setRanges([range]).build();
          rules.push(rule);
          break;
        }
      }
    }
    actSh.setConditionalFormatRules(rules);
  }
}
函数onEdit(e){
//获取当前活动工作表
var actSh=SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
//获取进行更改的位置的整数值
var row=e.range.getRow();
var col=e.range.getColumn();
//定义列中的最大范围
var max=actSh.getLastColumn();
//设置要应用条件规则的范围
变量范围=实际范围(行,(列+1),1,(最大值-1));
如果(列==1){
var rules=actSh.getConditionalFormatures();
对于(var i=0;i
参考资料

如何在新范围内扩展条件格式 步骤如下:

  • 检索感兴趣的工作表
  • 使用
    getConditionalFormatRules()
  • 循环浏览所有规则
  • 使用
    getRanges()
  • 循环遍历这些范围,以验证您感兴趣的列是否是其中一个范围
  • 如果发现规则应用于您感兴趣的列(
    If(ranges[j].getColumn()==1)
    )-使用
    copy()
  • 使用
    setRanges([range])
    将感兴趣的范围分配给新复制的规则,并使用
    build
  • 使用
    push()
  • 退出所有循环后,使用
    setConditionalFormatRules(rules)
样本

function onEdit(e) {  
  // Get current active sheet
  var actSh = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();  
  // Get the integer value of the location the change is made at
  var row = e.range.getRow();
  var col = e.range.getColumn();  
  // Define the max range in columns
  var max = actSh.getLastColumn();  
  // Set a range to apply the conditional rule to
  var range = actSh.getRange(row,(col+1),1,(max-1));  
  if (col == 1) {
    var rules = actSh.getConditionalFormatRules();
    for (var i = 0; i < rules.length; i++){
      var ranges = rules[i].getRanges();
      for (var j = 0; j < ranges.length; j++){
        if (ranges[j].getColumn() == 1){
          var rule = rules[i].copy();
          rule.setRanges([range]).build();
          rules.push(rule);
          break;
        }
      }
    }
    actSh.setConditionalFormatRules(rules);
  }
}
函数onEdit(e){
//获取当前活动工作表
var actSh=SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
//获取进行更改的位置的整数值
var row=e.range.getRow();
var col=e.range.getColumn();
//定义列中的最大范围
var max=actSh.getLastColumn();
//设置要应用条件规则的范围
变量范围=实际范围(行,(列+1),1,(最大值-1));
如果(列==1){
var rules=actSh.getConditionalFormatures();
对于(var i=0;i
参考资料


定义相邻的
。你是说同一行中的所有单元格吗?是的,我就是这个意思。定义
相邻的
。你是说同一行中的所有单元格吗?是的,这就是我的意思。