Resolver problemas comuns

Veja abaixo alguns problemas comuns que você pode encontrar ao converter seu código VBA em Apps Script com o Macro Converter.

Impressão

As APIs VBA que imprimem arquivos são convertidas automaticamente no Apps Script, mas podem se comportar de maneira diferente da API VBA original. Veja dois exemplos:

API VBAComportamento no Apps Script
PrintOutConverte para o Apps Script, mas a API Apps Script imprime em um arquivo em vez de uma impressora. É possível imprimir manualmente o arquivo PDF.
PrintToFileConverte para o Apps Script. O arquivo PDF é salvo na sua pasta "Meu Drive".

Itens não convertidos

Os recursos abaixo não são convertidos pelo Macro Converter e precisam ser convertidos manualmente:

Gatilhos

Dois tipos de gatilhos, atalhos de teclado e alguns gatilhos baseados em eventos não são convertidos pelo Macro Converter. Em muitos casos, é possível criar esses acionadores manualmente.

Atalhos do teclado

Para adicionar atalhos do teclado, siga as etapas de importação de funções como macros.

Gatilhos baseados em eventos

Alguns eventos do código VBA, como BeforeClose ou BeforeSave, não têm equivalentes no Apps Script, mas é possível criar uma solução alternativa.

Para eventos como BeforeClose, é possível criar um menu ou botão personalizado para clicar e realizar a ação que precisa ocorrer antes de fechar a planilha.

Como as Planilhas Google salvam automaticamente todas as edições, não são viáveis soluções alternativas para eventos como BeforeSave.

Formulários do usuário

No VBA, um UserForm é uma janela ou caixa de diálogo na interface do usuário de um aplicativo. O Macro Converter não converte UserForms. É possível criá-las manualmente no Apps Script.

Criar uma caixa de diálogo de formulário de usuário

  1. No computador, abra o arquivo convertido nas Planilhas Google.
  2. Na parte superior, clique em Extensões > ** Apps Script**.
  3. À esquerda do editor, ao lado de "Arquivos", clique em Adicionar um arquivo > HTML. Recomendamos que você dê ao arquivo HTML o mesmo nome do UserForm original do VBA.
  4. Adicione os campos e as informações que você quer que apareçam no formulário. Saiba mais sobre formulários HTML em W3school.com.
  5. À esquerda, clique no arquivo do Apps Script (arquivo GS) que tem o código convertido.
  6. Se você já tiver um acionador onOpen() no código, atualize-o com o código abaixo. Se você não tiver o gatilho onOpen() no seu código, adicione o código abaixo.
    function onOpen() {
     SpreadsheetApp.getUi()
         .createMenu('User Form')
         .addItem('Show Form', 'showForm')
         .addToUi();
    }
    function showForm() {
     var html = HtmlService.createHtmlOutputFromFile('userform_module_name')
         .setWidth(100)
         .setTitle('Sign-up for Email Updates');
     SpreadsheetApp.getUi().showSidebar(html);
    }
        
  7. Substitua userform_module_name pelo nome do arquivo HTML adicionado.
  8. Na parte de cima, clique em Salvar projeto .
  9. Acesse o app Planilhas Google e atualize a página.
  10. Na parte de cima do arquivo do Planilhas Google, clique em Formulário do usuário > Mostrar formulário.

Intervalos nomeados

No Excel, intervalos nomeados são nomes atribuídos a uma única célula ou intervalo de células.

Quando você converte seu arquivo do Excel em planilhas Google, alguns tipos de intervalos nomeados não são convertidos porque não são compatíveis. Veja dois exemplos:

Intervalos nomeados incompatíveisDescrição
TabelasIsso não é compatível com o app Planilhas Google, mas tem uma solução alternativa.

Para recriar esse intervalo nomeado no Planilhas, adicione um intervalo nomeado que aponte para a notação A1 do intervalo da tabela. Use o mesmo nome do intervalo nomeado original no código VBA para que o código convertido o reconheça.
Lista de intervalosIndisponível no app Planilhas Google. Não há uma solução alternativa.