基本上,我正在尝试执行以下功能:清除指定工作表中的指定范围的内容
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按钮。感谢您提前帮助开发功能脚本!
答案 0 :(得分:0)
请改为尝试:
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();
}