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 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 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ó poderá criar um menu se 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. No Planilhas Google, a menos que você esteja usando a nova versão, é necessário usar a sintaxe addMenu(), e não é possível criar 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 podem ser abertas, consulte o guia sobre 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. 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 no Planilhas Google

Você também pode 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 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 será exibido 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.