Menu 如何解决此自定义菜单错误?

Menu 如何解决此自定义菜单错误?,menu,google-sheets,Menu,Google Sheets,使用“我的自定义菜单”清除同一文档中7张工作表中的一系列单元格时,会发生此错误。代码如下: function onOpen() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var menubuttons = [{name: "Clear Dock 1", functionName: "clearRange1()"}, {name: "Clear Dock 2", functionName: "clear

使用“我的自定义菜单”清除同一文档中7张工作表中的一系列单元格时,会发生此错误。代码如下:

function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var menubuttons = [{name: "Clear Dock 1", functionName: "clearRange1()"},
                   {name: "Clear Dock 2", functionName: "clearRange2()"},
                   {name: "Clear Dock 3", functionName: "clearRange3()"},
                   {name: "Clear Dock 4", functionName: "clearRange4()"},
                   {name: "Clear Dock 5", functionName: "clearRange5()"},
                   {name: "Clear Dock 6", functionName: "clearRange6()"},
                   {name: "Clear Dock 7", functionName: "clearRange7()"}

              ];




function clearRange1() {

  var sheet = SpreadsheetApp.getActive().getSheetByName('Dock 1');
  sheet.getRange('b2:j49').clearContent();
}


function clearRange2() {

  var sheet = SpreadsheetApp.getActive().getSheetByName('Dock 2');
  sheet.getRange('b2:j49').clearContent();
}

function clearRange3() {

  var sheet = SpreadsheetApp.getActive().getSheetByName('Dock 3');
  sheet.getRange('b2:j49').clearContent();
}

function clearRange4() {

  var sheet = SpreadsheetApp.getActive().getSheetByName('Dock 4');
  sheet.getRange('b2:j49').clearContent();
}

function clearRange5() {

  var sheet = SpreadsheetApp.getActive().getSheetByName('Dock 5');
  sheet.getRange('b2:j49').clearContent();
}

function clearRange6() {

  var sheet = SpreadsheetApp.getActive().getSheetByName('Dock 6');
  sheet.getRange('b2:j49').clearContent();
}

function clearRange7() {

  var sheet = SpreadsheetApp.getActive().getSheetByName('Dock 7');
  sheet.getRange('b2:j49').clearContent();
}}
我对编码非常陌生,我渴望学习,因为我正在为我的工作场所制定发货/收货时间表。我的代码可能包含很多错误,因此任何更正都会非常棒:)

每当我按下自定义菜单上的按钮时,问题就会持续存在,因为它会给我错误提示:“未找到脚本函数:clearRange1()。有关详细信息,请参见“”。任何帮助都将不胜感激


谢谢,

首先,我不知道你是如何得到定制菜单的,除非你省略了你的代码

下面详细介绍了如何格式化以获得自定义菜单。 其次,您的功能应该与所有其他功能分开。因此,一个onOpen()函数将关闭},然后启动另一个单独的函数。有关您可以展开的示例,请参见下文:)


大卫,非常感谢你帮我做这件事。我的菜单正在运行,一切都很顺利。谢谢@giulianoaboni,很高兴我能帮忙。如果您能将答案标记为正确,这将有助于未来的旁观者:)
function onOpen() {
var ui = SpreadsheetApp.getUi();

  ui.createMenu('Custom Menu')
      .addItem('Clear Dock 1', 'clearRange1')
      .addItem('Clear Dock 2', 'clearRange2')
      .addItem('Clear Dock 3', 'clearRange3')
      .addItem('Clear Dock 4', 'clearRange4')
      .addItem('Clear Dock 5', 'clearRange5')
      .addItem('Clear Dock 6', 'clearRange6')
      .addItem('Clear Dock 7', 'clearRange7')
      .addToUi();
}

    //you can put this outside your functions if you want it to work for all of them
    var ss = SpreadsheetApp.getActive();

function clearRange1() {

var sheet = ss.getSheetByName('Sheet3');
sheet.getRange('B2:J49').clearContent();

}