根据用户的选择清除命名范围 - 几乎所有

时间:2015-08-12 23:08:36

标签: javascript google-apps-script google-spreadsheet-api

我几乎在这里(从昨天开始)。

但我错过了一些非常明显的东西,而不是我。

如何让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();

我在括号中放置什么,以便使用给出的响应确定清除的范围?

提前致谢。

ħ

1 个答案:

答案 0 :(得分:0)

这里工作正常。我用.getActiveSheet()

将其更改为活动工作表

PS:您可以使用短信fn + TAB(mac)在Google Apps脚本中自动缩进您的脚本。

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();
  }
}