Menus personalizados no Google Workspace

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

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

O Apps Script pode adicionar novos menus nos apps Documentos, Planilhas, Apresentações ou Formulários Google, com cada item de menu vinculado a uma função em um script. No Formulários Google, os 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 ele estiver vinculado ao documento, à planilha ou ao formulário. Para mostrar o menu quando o usuário abrir um arquivo, escreva o código do menu em uma função onOpen().

O exemplo abaixo mostra como adicionar um menu com um item, seguido por um separador visual e um submenu que contém outro item. Nas Planilhas Google, a menos que você esteja usando a nova versão, é necessário usar a sintaxe addMenu() e não é possível usar submenus. Quando o usuário seleciona um item 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 só pode conter um menu com um nome específico. Se o mesmo script ou outro script adicionar um menu com o mesmo nome, o novo menu vai substituir o antigo. Os menus não podem ser removidos enquanto o arquivo está aberto, embora você possa programar a função onOpen() para pular o menu no futuro se uma determinada propriedade for definida.

Imagens e desenhos clicáveis nas Planilhas Google

Também é possível atribuir uma função do Apps Script a uma imagem ou desenho nas Planilhas Google, desde que o script esteja vinculado à planilha. O exemplo abaixo mostra como configurar isso.

  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 as 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 que aparece, 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 agora é executada.