Google-sheets – I can’t get the script to show in the menu of a G Suite document

google docsgoogle sheetsgoogle-apps-scriptgoogle-formsgoogle-slides

I'm new to scripting and have been trying to get this URL shortener script to show in my spreadsheet. I have clicked 'debug' to authenticate the script, then what?

I thought the menu item would be created in the Google Sheet… what am I missing please? I'm sure it's pretty basic!

Editor notes: The same applies to spreadsheets, documents, forms and presentations of the nowadays named by Google as G Suite document editors.

Best Answer

If you want to add something to a menu, you need to implement an onOpen function, and do the necessary menu setup there.

Take a look at this example from Google's documentation:

function onOpen() {
  // Add a custom menu to the spreadsheet.
  SpreadsheetApp.getUi() // Or DocumentApp or FormApp.
      .createMenu('Custom Menu')
      .addItem('First item', 'menuItem1')
      .addToUi();
}

This will add a menu Custom Menu with a single item First item, which, when selected, will launch a function menuItem1, which you will have to implement:

function menuItem1() {
  // Do whatever you like here
}

Note that you will have to reload your file ( spreadsheet, document, form or presentation ) in order to have onOpen run. So you won't see any effect by just writing the script and clicking save, you need to reload (Cmd-R) on the file window for the new menu to appear.

A script error may prevent the menu from appearing. If you don't see the desired result after reloading the file, check the script editor's View → Execution Transcript for any errors.