I will distribute a spreadsheet with onOpen menu among several users. I would like to keep the menu definitions and functionality within a Library, so if I add some menu opt
This is how I solved my works
// ----myLibrary----
function loadMenu() {
var menuList = [
{ name: 'New', functionName: 'myLibrary.addData' },
{ name: 'Modify', functionName: 'myLibrary.modifyData' },
{ name: 'Delete', functionName: 'myLibrary.deleteData' },
];
return menuList;
}
function modifyData() {
Logger.log('called by modifyData');
}
function addData() {
Logger.log('called by addData');
}
function deleteData() {
Logger.log('called by deleteData');
}
// ----myLibrary----
// -----Client-------
function onOpen() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var menuList = myLibrary.loadMenu();
ss.addMenu('Custom Menu', menuList);
}
// -----Client-------