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 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 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 só ficam visíveis para o editor que abre o formulário, e não para o usuário que o abre para responder.

Um script só poderá criar um menu se estiver vinculado ao documento, à planilha ou ao formulário. Para exibir o menu quando o usuário abre 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, em seguida, um submenu que contém outro item. No Planilhas Google, a menos que você esteja usando a nova versão, use a sintaxe addMenu(). Não é possível usar submenus. Quando o usuário seleciona um item do 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, uma planilha, uma apresentação ou um formulário pode conter apenas um menu com um determinado nome. Se o mesmo script ou outro adicionar um menu com o mesmo nome, o novo menu substituirá o antigo. Os menus não podem ser removidos enquanto o arquivo estiver aberto, embora você possa gravar 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 desenho no Planilhas Google, desde que o script esteja vinculado à planilha. O exemplo abaixo mostra como configurar isso.

  1. No Planilhas Google, selecione o item de menu Extensões > Apps Script para criar um script vinculado à planilha.
  2. Exclua o código no editor de script e cole-o 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 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 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 configurar isso.

  1. Em um site Google, clique em Mais > Gerenciar site.
  2. Na barra lateral, clique em Scripts do Google Apps 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 ao site do Google e edite uma página. Digite um rótulo que vai se tornar um link, como Click me, destaque o texto e selecione Inserir link g.
  5. Na caixa de diálogo que aparece, 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 requer autorização. Clique em OK. Em seguida, 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 que você adicionou à página novamente. A função será executada. Verifique seu e-mail para ver o e-mail que você mesmo enviou.