问题描述
我在创建自定义菜单时遇到问题。自定义函数按预期工作。我可以在工作表中看到它,所以这不是权限问题。有人可以请你潜水吗?
谢谢 :)
附言:我试图只添加一个菜单,里面没有按钮,以检查问题是否出在我添加函数名称的方式上。那也不起作用。
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,2).setValues(totalsArray);
}
function OnOpen()
{
var ui = SpreadsheetApp.getUi();
ui.createMenu("Custom Menu")
.addItem("Row totals","addRowTotal")
.addToUi;
}
解决方法
除了以下两个方面,您还很亲密:
- 您输入了错字:
OnOpen
应该是onOpen
, - 您忘记添加括号:
addToUi
应该是addToUi()
。
尝试以下方法:
function onOpen()
{
var ui = SpreadsheetApp.getUi();
ui.createMenu("Custom Menu")
.addItem("Row totals","addRowTotal")
.addToUi();
}