我们可以在 Google 脚本上使用 getRange() 选择整个电子表格吗?

osu*_*osu 2 spreadsheet google-sheets google-apps-script

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

function clearRange() {
  var sheet = SpreadsheetApp.getActive().getSheetByName();
  sheet.getRange().clearContent();
}
Run Code Online (Sandbox Code Playgroud)

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

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

不幸的是,当我这样做时clearRange,它对我说:

找不到方法 getSheetByName()

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

Jua*_*oig 7

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

作为额外的一点,您必须在括号中输入工作表名称。

例子:

function clearRange() {
  var sheet = SpreadsheetApp.getActive().getSheetByName('Sheet1');
  sheet.getDataRange().clearContent();
}
Run Code Online (Sandbox Code Playgroud)