Spreadsheet onOpen menu from a Library

后端 未结 4 1430
长发绾君心
长发绾君心 2020-12-10 17:33

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

4条回答
  •  甜味超标
    2020-12-10 18:16

    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-------
    

提交回复
热议问题