当前位置: 代码迷 >> JavaScript >> 如何编写一个脚本来清除(全部)所需工作表的内容(其名称在另一工作表的单元格中指定)?
  详细解决方案

如何编写一个脚本来清除(全部)所需工作表的内容(其名称在另一工作表的单元格中指定)?

热度:75   发布时间:2023-06-07 17:52:52.0

基本上,我正在尝试执行以下功能:清除指定工作表中的指定范围的内容

function clearRange() { //replace 'Sheet1' with your actual sheet name var sheet = SpreadsheetApp.getActive().getSheetByName('Sheet1'); sheet.getRange('A1:Z1000').clearContent(); }

但是,我试图修改此功能:-避免要清除的工作表名称的硬编码,而只需在单元格中输入即可。

在电子表格中,我有3个不同的工作表:“ settings_sheet”,“ sheet1”和“ sheet2”。

这是我的规格:

1)在“ settings_sheet”中,我希望能够在单元格B3中写入要清除的工作表的名称,即“ sheet1”或“ sheet2”(不带引号)。

2)多亏了与脚本相关联的“ settings_sheet”中的UI按钮(插入->绘图),我想通过简单的单击清除工作表中B3中指定名称的内容

这是我尝试开发的脚本,到目前为止没有成功:

function clearSelectedSheet() {

var spreadsheet = SpreadsheetApp.openById("my spreadsheet ID");
var sheet = spreadsheet.getSheetByName('settings_sheet'); 
var range = sheet.getRange('B3'); 
var data = range.getValue();

if(data == "sheet1"){
var templatename = SpreadsheetApp.getActive().getSheetByName('sheet1');
templatename.getRange('A1:Z1000').clearContent();
} 

if(data == "sheet2"){
var templatename = SpreadsheetApp.getActive().getSheetByName('sheet2');
templatename.getRange('A1:Z1000').clearContent();
}}

我知道如何整合UI按钮。 在此先感谢您对开发功能脚本的任何帮助!

尝试以下方法:

function clearSelectedSheet() {

var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spreadsheet.getSheetByName('settings_sheet'); 
var range = sheet.getRange('B3'); 
var data = range.getValue();

var templatename = spreadsheet.getSheetByName(data);
templatename.getRange('A1:Z1000').clearContent();
}
  相关解决方案