Menus personalizados no Google Workspace

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

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 em 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 ao clicar 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 no 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 o editor que o abre para modificá-lo, e não para um usuário que abre o formulário para responder.

Um script só poderá criar um menu se estiver vinculado a um documento, uma planilha ou um formulário. Para exibir 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 app Planilhas Google, a menos que você esteja usando a nova versão, é necessário usar a sintaxe addMenu(). Submenus não são possíveis. Quando o usuário seleciona um item de menu, uma função correspondente abre uma caixa de diálogo alerta. Para mais informações sobre os tipos de caixas de diálogo que podem ser abertas, consulte o guia de caixas de diálogo e barras laterais.

function onOpen() {
  var ui = SpreadsheetApp.getUi();
  // Or DocumentApp 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 or FormApp.
     .alert('You clicked the first menu item!');
}

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

Um documento, planilha, apresentação ou formulário só pode conter 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 escrever 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. No 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 nela. Um pequeno seletor de menu suspenso vai aparecer 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.

Você também pode atribuir uma função do Apps Script a um link no Google Sites, desde que o script esteja vinculado ao site. O exemplo abaixo mostra como fazer essa configuração.

  1. Em um site Google, clique em Mais > Gerenciar site.
  2. Na barra lateral, clique em Apps Script e em Adicionar novo script para criar um script vinculado ao site.
  3. Exclua qualquer código no editor de script e cole o código abaixo, que enviará um e-mail quando o usuário clicar em um link.

      function sitesLink() {
        var recipient = Session.getActiveUser().getEmail();
        GmailApp.sendEmail(recipient, 'Email from your site', 'You clicked a link!');
      }
    
  4. Volte para o site Google e edite uma página. Digite um rótulo que se tornará um link, como Click me. Em seguida, destaque o texto e selecione Inserir > Link.

  5. Na caixa de diálogo exibida, clique em Apps Script e na função sitesLink que você acabou de criar. Clique em OK.

  6. Clique em Salvar na parte superior da página.

  7. Clique no link adicionado à página.

  8. Uma caixa de diálogo será exibida informando que o script precisa de autorização. Clique em OK. Uma segunda caixa de diálogo solicitará autorização para serviços específicos do Google. Leia o aviso com atenção, clique em Permitir e em Fechar.

  9. Agora que o script está autorizado, clique no link adicionado à página novamente. A função será executada. Verifique seu e-mail para ver o e-mail que você mesmo enviou.