根据用户的选择清除命名范围-差不多了

Clear Named Range Based On User's Selection - ALMOST THERE

本文关键字:范围 差不多 清除 用户 选择      更新时间:2023-09-26

我基本上是在这里(从昨天开始)。

但是我忽略了一些对你们有些人来说很明显的东西,而不是对我。

如何让用户的选择被clearRange函数识别为要清除的命名范围?

function onOpen() {
    var ui = SpreadsheetApp.getUi();
    var mainMenu = ui.createMenu("Clear Tenant Details");
    mainMenu.addItem("Select 'Current Tenant' Range To Reset", "SelectRange");
    mainMenu.addSeparator();
      mainMenu.addItem("Select 'Prospective Tenant' Range To Reset", "SelectRange");
    mainMenu.addToUi();
    ui.showSidebar(createUI());
}
function SelectRange() {
    var ui = SpreadsheetApp.getUi();
    var result = ui.prompt('Current Tenant Range Reset', 'Please enter the Unit to reset e.g. ADA_current :', ui.ButtonSet.OK_CANCEL);
    var button = result.getSelectedButton();
    var targetRange = result.getResponseText();
    if (button == ui.Button.OK) {
        clearRange(targetRange);
} 
      function clearRange() {
  //replace 'Sheet1' with your actual sheet name
  var sheet = SpreadsheetApp.getActive().getSheetByName('Sheet17');
        sheet.getRange(targetRange).clearContent();
}
}

这一行似乎是错误的:

sheet.getRange ( targetRange ) .clearContent ();

我在括号里放些什么,以便由use给出的响应决定清除的范围?

提前感谢。

H

这里它工作得很好。我用。getactivesheet ()

将其更改为活动表单

PS:你可以使用快捷键fn + TAB (mac)来自动缩进你的脚本在谷歌应用程序脚本。

function SelectRange() {
  var ui = SpreadsheetApp.getUi();
  var result = ui.prompt('Current Tenant Range Reset', 'Please enter the Unit to reset e.g. ADA_current :', ui.ButtonSet.OK_CANCEL);
  var button = result.getSelectedButton();
  var targetRange = result.getResponseText();
  if (button == ui.Button.OK) {
    clearRange(targetRange);
  } 
  function clearRange() {
    //replace 'Sheet1' with your actual sheet name
    var sheet = SpreadsheetApp.getActive().getActiveSheet();
    sheet.getRange(targetRange).clearContent();
  }
}