Partilhar via


Diferenças entre scripts do Office e macros VBA

Os Scripts do Office e as macros VBA têm muito em comum. Ambos permitem que os utilizadores automatizem soluções através de um gravador de ação fácil de utilizar e permitem edições dessas gravações. Ambas as arquiteturas foram concebidas para capacitar as pessoas que podem não se considerar programadores a criar pequenos programas no Excel.

A diferença fundamental é que as macros VBA são desenvolvidas para soluções de ambiente de trabalho e os Scripts do Office foram concebidos para soluções seguras e multiplataformas baseadas na cloud.

Um diagrama de quatro quadrantes a mostrar as áreas de foco para diferentes soluções de extensibilidade do Office. Tanto os Scripts do Office como as macros VBA foram concebidos para ajudar os utilizadores finais a criar soluções. Os Scripts do Office são criados para experiências e colaboração entre plataformas, enquanto o VBA é para o ambiente de trabalho.

Este artigo descreve as diferenças main entre macros VBA (bem como VBA em geral) e Scripts do Office. Uma vez que os Scripts do Office só estão disponíveis para o Excel, este é o único anfitrião a ser abordado aqui.

Plataforma e ecossistema

A tabela seguinte mostra que funcionalidades são suportadas por que plataformas e produtos.

Excel Online Excel para Windows Excel para Mac Excel para iOS Outros produtos do Office Power Automate
Scripts do Office Sim Sim Sim Não Não Sim
Gravador de Ação de Scripts do Office Sim Sim Sim Não Não Não
Macros VBA Não Sim Sim Não Sim Não
Suplementos do Office Sim Sim Sim Sim Sim Não
Suplementos COM Não Sim Não Não Sim Não

O VBA foi concebido para ser centrado no ambiente de trabalho. O VBA pode interagir com o ambiente de trabalho de um utilizador para se ligar a tecnologias semelhantes, como COM e OLE. No entanto, o VBA não tem uma forma conveniente de chamar a Internet. Os Scripts do Office utilizam um runtime universal para JavaScript. Isto proporciona um comportamento e acessibilidade consistentes, independentemente do computador que está a ser utilizado para executar o script. Também podem fazer chamadas para um conjunto limitado de serviços Web.

Os utilizadores necessitam de uma licença empresarial ou educacional para utilizar ou criar Scripts do Office. Para obter a lista completa de licenças suportadas, veja Suporte da plataforma. O VBA está incorporado nas versões de ambiente de trabalho do Excel e não necessita de licenciamento especial.

Segurança

As macros VBA têm a mesma autorização de segurança que o Excel. Isto dá-lhes acesso total ao seu ambiente de trabalho. Os Scripts do Office só têm acesso ao livro e não ao computador que aloja o livro. Além disso, nenhum token de autenticação JavaScript pode ser partilhado com scripts. Isto significa que o script não tem os tokens do utilizador com sessão iniciada nem existem capacidades de API para iniciar sessão num serviço externo, pelo que não é possível utilizar tokens existentes para efetuar chamadas externas em nome do utilizador.

Os administradores têm três opções para macros VBA: permitir todas as macros no inquilino, não permitir macros no inquilino ou permitir apenas macros com certificados assinados. Esta falta de granularidade torna difícil isolar um único mau actor. Atualmente, os Scripts do Office podem estar desativados para um inquilino inteiro, ativados para um inquilino inteiro ou ativados para um grupo de utilizadores num inquilino. Os administradores também têm controlo sobre quem pode partilhar scripts com outras pessoas e quem pode utilizar scripts no Power Automate.

Cobertura

Atualmente, o VBA oferece uma cobertura mais completa das funcionalidades do Excel, especialmente as disponíveis no cliente de ambiente de trabalho. Os Scripts do Office abrangem quase todos os cenários para Excel na Web. Além disso, à medida que as novas funcionalidades se estreiam na Web, os Scripts do Office irão apoiá-los tanto para o Gravador de Ação como para as APIs JavaScript.

Os Scripts do Office não suportam eventos ao nível do Excel. Os scripts só são executados quando um utilizador os inicia manualmente ou quando um fluxo do Power Automate chama o script.

Power Automate

O VBA não tem um conector do Power Automate. Todos os cenários VBA suportados envolvem um utilizador que participa na execução da macro.

Os Scripts do Office podem ser executados através do Power Automate. O seu livro pode ser atualizado através de fluxos agendados ou orientados por eventos, o que lhe permite automatizar fluxos de trabalho sem sequer abrir o Excel. Experimente o Tutorial: atualizar uma folha de cálculo a partir de um fluxo do Power Automate para começar a aprender sobre o Power Automate. Também pode marcar o exemplo lembretes de tarefas automatizados para ver os Scripts do Office ligados ao Teams através do Power Automate num cenário real.

Confira também