【问题标题】:Can we select THE ENTIRE spreadsheet with getRange() on Google Script?我们可以在 Google Script 上使用 getRange() 选择整个电子表格吗?
【发布时间】:2019-11-25 11:39:32
【问题描述】:

想知道是否可以使用 getRange() 选择整个电子表格?我正在尝试自动清除电子表格,这是我拥有的代码:

function clearRange() {
  var sheet = SpreadsheetApp.getActive().getSheetByName();
  sheet.getRange().clearContent();
}

当我在使用该代码创建的菜单上选择此选项时,我希望它清除整个电子表格:

function onOpen() {
 var menu = SpreadsheetApp.getActiveSpreadsheet(),
     options = [
      {name:"Update", functionName:"runQuery"},
      {name:"Clear Sheet", functionName:"clearRange"}
     ];
 menu.addMenu("Menu", options);
}

不幸的是,当我执行clearRange 时,它说我:

找不到方法 getSheetByName()

我不知道如何修复它,我试图让它采用当前的电子表格,无论名称是什么,对于 clearRange 也是如此,我试图确保它清除该电子表格上的所有内容

【问题讨论】:

    标签: google-apps-script google-sheets spreadsheet


    【解决方案1】:

    您可以使用getDataRange() 执行此操作,它会返回与数据所在维度相对应的范围。

    另外,您必须在括号中输入工作表名称。

    示例:

    function clearRange() {
      var sheet = SpreadsheetApp.getActive().getSheetByName('Sheet1');
      sheet.getDataRange().clearContent();
    }
    

    【讨论】:

    • 谢谢,它确实有效,对于我的工作表问题,我还替换了 var sheet = SpreadsheetApp.getActive().getSheetByName();通过 var sheet = SpreadsheetApp.getActiveSheet();一切正常,谢谢!
    • OK...即使没有数据,一切又如何呢?你为什么问?因为它不将复选框识别为数据,我正在尝试使用range.removecheckboxes() 清除工作表中的所有复选框。
    猜你喜欢
    • 2014-12-05
    • 1970-01-01
    • 1970-01-01
    • 2016-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-13
    相关资源
    最近更新 更多