Menus personalizados no Google Workspace

Os scripts podem estender determinados produtos do Google adicionando elementos da interface do usuário. que, quando clicado, executa uma função do Apps Script. O exemplo mais comum é executar um script a partir de um item de menu personalizado nos apps Documentos, Planilhas, Apresentações ou Formulários, mas as funções de script também podem ser acionadas clicando em imagens e desenhos no Planilhas Google.

Menus personalizados no Documentos, Planilhas, Apresentações ou Formulários Google

O Apps Script pode adicionar novos menus nos apps Documentos, Planilhas, Apresentações e ou Formulários, com cada item de menu vinculado a uma função em um script. (No app Formulários Google, menus personalizados ficam visíveis apenas para um editor que abre o formulário para modificá-lo, não para um usuário que abre o formulário para responder.

Um script só pode criar um menu se for vinculado ao documento, planilha ou formulário. Para exibir o menu quando o usuário abrir um arquivo, escreva o código do menu dentro de uma função onOpen().

O exemplo abaixo mostra como adicionar um cardápio com um item, seguido por um separador visual, depois um submenu que contém outro item. (No Planilhas Google, a menos que você esteja usando o nova versão, será necessário usar o addMenu() em vez disso, não é possível usar submenus.) Quando o usuário seleciona item de menu, uma função correspondente abre uma alerta. Para mais informações sobre os tipos de caixas de diálogo que podem ser abertas, consulte a guia de caixas de diálogo e barras laterais.

function onOpen() {
  var ui = SpreadsheetApp.getUi();
  // Or DocumentApp, SlidesApp or FormApp.
  ui.createMenu('Custom Menu')
      .addItem('First item', 'menuItem1')
      .addSeparator()
      .addSubMenu(ui.createMenu('Sub-menu')
          .addItem('Second item', 'menuItem2'))
      .addToUi();
}

function menuItem1() {
  SpreadsheetApp.getUi() // Or DocumentApp, SlidesApp or FormApp.
     .alert('You clicked the first menu item!');
}

function menuItem2() {
  SpreadsheetApp.getUi() // Or DocumentApp, SlidesApp or FormApp.
     .alert('You clicked the second menu item!');
}

Um documento, planilha, apresentação ou formulário pode conter apenas um menu com um determinado nome. Se o mesmo script ou outro script adicionar um menu com o mesmo nome, o novo menu substituirá o antigo. Não é possível remover os menus enquanto o arquivo está aberto, embora você possa escrever a função onOpen() para pular o menu em no futuro, se uma determinada propriedade for definida.

Imagens e desenhos clicáveis no Planilhas Google

Você também pode atribuir uma função do Apps Script a uma imagem ou desenho no Planilhas Google. desde que o script esteja vinculado à planilha. O exemplo abaixo mostra como fazer essa configuração.

  1. Nas Planilhas Google, selecione o item de menu Extensões >. Apps Script para criar um script que está vinculado à planilha.
  2. Apague o código no editor de script (se houver algum) e cole o código abaixo.

      function showMessageBox() {
        Browser.msgBox('You clicked it!');
      }
    
  3. Volte para as Planilhas e insira uma imagem ou desenho selecionando Inserir > Imagem ou Inserir > Desenho.

  4. Depois de inserir a imagem ou o desenho, clique nele. Um pequeno menu suspenso seletor aparece no canto superior direito. Clique nele e escolha Atribuir script.

  5. Na caixa de diálogo exibida, digite o nome da função do Apps Script. que você quer executar, sem parênteses, neste caso, showMessageBox. Clique em OK.

  6. Clique na imagem ou desenho novamente. A função agora é executada.