【问题标题】:Google Spreadsheet Scripting scripting does not add menu and filter does not work as expectedGoogle 电子表格脚本脚本未添加菜单且过滤器未按预期工作
【发布时间】:2021-12-20 10:13:33
【问题描述】:

我有以下代码,我只是为了练习谷歌spreadsheet scripting而写的。我的代码有两个问题。顺便说一句,它运行并且不会抛出任何错误。但是,问题是 a) 当我重新加载/打开电子表格时,它不会在 Google 表格菜单中加载“自定义格式”。 b)我期望这将检查过滤器是否打开,如果是则删除过滤器,否则添加过滤器。但是每次我运行它时它都会添加过滤器。这是我在 Google Scripting 中的第一个代码。请帮我找出我的错误。

function formatReport() {
  
  let sheet= SpreadsheetApp.getActiveSpreadsheet();

  let headrs = sheet.getRange('A1:F1');
  let table = sheet.getDataRange();
  let filter = sheet.getRange('A1:F1').getFilter();
  if (filter){
    filter.remove;
  }

  else{

  headrs.setFontColor('white');
  headrs.setBackground('#52489C');

  table.setFontFamily('Roboto');
  table.setHorizontalAlignment('center');
  table.setBorder(true,true,true,true,false,true, '#52489C',SpreadsheetApp.BorderStyle.SOLID);

  table.createFilter();
  }


}

function onOpen(){
  let ui =SpreadsheetApp.getUi();
  ui.createMenu('Custom Formatting').addItem('Format Report', formatReport).addToUi;
}

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:
    1. addItem 的第二个参数是 string。你没有打电话给addToUi()

    ui.createMenu('Custom Formatting').addItem('Format Report', 'formatReport').addToUi();

    1. 您没有调用删除函数

    if (filter){filter.remove();}

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-09-07
      • 2015-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多