首页 > 解决方案 > 无法向 Google 表格添加自定义菜单

问题描述


我在创建自定义菜单时遇到问题。自定义功能按预期工作。我可以在工作表中看到,所以这不是权限问题。有人可以请教吗?

谢谢:)

PS我尝试只添加一个没有按钮的菜单,以检查问题是否与我添加函数名称的方式有关。那也没有用。
function addRowTotal() 
{
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("sheet1");
  var lastRow= sheet.getLastRow()-1;
  var data = sheet.getRange(2,1,lastRow,3).getValues();

  var totalsArray=[];
  data.forEach(function(row)
               {
    var name= row[0];
    var price= row[1];
    var qty = row[2];
    var tot=price*qty;
    var doz=price*12;
    row.push(tot,doz);
    //Logger.log (data);
    totalsArray.push([tot,doz]); 
    Logger.log(totalsArray);
               })
  sheet.getRange(2,4,lastRow,2).setValues(totalsArray);
}

function OnOpen()
{
 var ui = SpreadsheetApp.getUi(); 
 ui.createMenu("Custom Menu")
 .addItem("Row totals","addRowTotal")
 .addToUi;
}

标签: javascriptgoogle-apps-scriptgoogle-sheetssyntax-errorgoogle-sheets-query

解决方案


除了以下两件事之外,您非常接近:

  1. 你打错了:OnOpen应该是onOpen
  2. 您忘记添加括号:addToUi应该是 addToUi().

试试这个:

function onOpen()
{
 var ui = SpreadsheetApp.getUi(); 
 ui.createMenu("Custom Menu")
 .addItem("Row totals","addRowTotal")
 .addToUi();
}

推荐阅读