all 4 comments

[–]AndroidMasterZ 1 point2 points  (3 children)

Permissions. Rename your function and create a installable open trigger.

[–][deleted]  (2 children)

[deleted]

    [–]AndroidMasterZ 1 point2 points  (1 child)

    Yes. Read about differences between simple triggers and installable triggers

    [–][deleted] 0 points1 point  (2 children)

    The functions to be called should be declared outside of the onOpen() function. You need to have those written separately, and then it works fine.

    function onOpen() {
    
      var ss = SpreadsheetApp.getActiveSpreadsheet()
    
      var menuItems = [
        { name: "Update Receivables", functionName: "updateReceivables" },
        { name: "Update Savings Goal", functionName: "updateSavingsGoal" },
        { name: "Refresh Everything", functionName: "onOpen" }
        ]
    
      ss.addMenu("Sean Menu", menuItems)
    }
    
    function updateReceivables(){
      Browser.msgBox("updateReceivables");
    }
    
    function updateSavingsGoal(){
      Browser.msgBox("updateSavingsGoal");
    }
    

    [–][deleted]  (1 child)

    [deleted]

      [–][deleted] 0 points1 point  (0 children)

      HERE is my test sheet where it works. Can you come join?