Menus personalizados no Google Workspace

Os scripts podem estender determinados produtos do Google adicionando elementos de interface do usuário que, quando clicados, executam uma função do Apps Script. O exemplo mais comum é executar um script de um item de menu personalizado no Documentos, Planilhas, Apresentações ou Formulários Google, 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 Documentos, Planilhas, Apresentações ou Formulários Google, com cada item de menu vinculado a uma função em um script. Nos Formulários Google, os menus personalizados são 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 estiver vinculado ao documento, à planilha ou ao formulário. Para exibir o menu quando o usuário abrir um arquivo, escreva o código dele em uma função onOpen().

O exemplo abaixo mostra como adicionar um menu com um item, seguido por um separador visual e depois um submenu que contém outro item. No Planilhas Google, a menos que você esteja usando a nova versão, é preciso usar a sintaxe addMenu(), e não é possível usar submenus. Quando o usuário seleciona um dos itens de menu, uma função correspondente abre uma caixa de diálogo de alerta. Para mais informações sobre os tipos de caixas de diálogo que você pode abrir, consulte o 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 vai substituir o antigo. Não é possível remover menus enquanto o arquivo está aberto, embora você possa programar a função onOpen() para pular o menu no futuro, se uma determinada propriedade estiver definida.

Imagens e desenhos clicáveis no Planilhas Google

Também é possível atribuir uma função do Apps Script a uma imagem ou um 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 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 o Planilhas e insira uma imagem ou um desenho selecionando Inserir > Imagem ou Inserir > Desenho.

  4. Depois de inserir a imagem ou o desenho, clique nele. Um pequeno seletor de menu suspenso 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 no desenho novamente. A função será executada.