Applies ToExcel para Microsoft 365 Word para Microsoft 365 Outlook para Microsoft 365 PowerPoint para Microsoft 365 Publisher para Microsoft 365 Visio (Plano 2) Excel 2024 Outlook 2024 PowerPoint 2024 Excel 2021 Word 2021 Outlook 2021 PowerPoint 2021 Publisher 2021 Visio Professional 2021 Visio Standard 2021 Excel 2019 Word 2019 Outlook 2019 PowerPoint 2019 Publisher 2019 Visio Professional 2019 Visio Standard 2019 Excel 2016 Word 2016 Outlook 2016 PowerPoint 2016 Publisher 2016 Visio Professional 2016 Visio Standard 2016 Visio Professional 2013

Este artigo descreve como pode assinar digitalmente um projeto de macro no Windows através de um certificado. Se ainda não tiver um certificado digital, terá de obter um.

Sugestão: Para utilizar ou testar projetos de macros no seu próprio computador, pode criar o seu próprio certificado de autoassinação com a ferramenta Selfcert.exe. Encontrará mais detalhes sobre o que se segue.

Obter um certificado digital

Pode obter um certificado digital a partir de uma autoridade de certificação comercial (AC) junto do seu administrador de segurança interna ou profissional de tecnologias de informação (TI).

Para saber mais sobre as autoridades de certificação que oferecem serviços para produtos Microsoft, consulte a lista de membros do programa de certificados de raiz da Microsoft.

Visto um certificado digital criado por si não ser emitido por uma autoridade de certificação fidedigna formal, os projetos de macro assinados através da utilização de um certificado deste tipo são conhecidos como projetos autoassinados. O Microsoft Office só confia em certificados autoassinados em computadores que tenham o certificado de autoassinatura adicionado à pasta Certificação de Raiz Fidedigna no arquivo Certificados – Utilizador Atual. Isto faz com que seja bom para testar ou utilizar no seu próprio computador ou um número muito pequeno de máquinas que gere, mas não é muito bom para distribuir projetos de macros para outras pessoas.

Criar um certificado autoassinado

Ver o certificado no arquivo de Certificados Pessoais

  1. Abra o Microsoft Edge.

  2. Introduza edge://settings/privacy na barra de endereço.

  3. Desloque-se para baixo até à secção Segurança e selecione Gerir certificados.

Assinar digitalmente um projeto de macro VBA no Excel, PowerPoint, Publisher, Visio, Outlook ou Word

  1. Abra o ficheiro que contém o projeto de macro que pretende assinar.

  2. No separador Programador, no grupo Código, clique em Visual Basic.

    Nota: Se o separador Programador não estiver disponível, clique no separador Ficheiro. Clique em Opções. Clique em Personalizar Friso. Na lista Personalizar o Friso, clique em Programador e, em seguida, clique em OK.

  3. No Visual Basic, no menu Ferramentas, clique em Assinatura Digital.

  4. É apresentada a caixa de diálogo Assinatura Digital.

  5. Selecione um certificado e clique em OK.

    Nota: Se não tiver selecionado um certificado digital ou pretender utilizar outro, clique em Escolher. Selecione um certificado e clique em OK.

Adicionar um carimbo de data/hora à sua assinatura

Quando as pessoas executam a sua macro VBA, o Office verifica a assinatura e o certificado com o qual foi assinado. Adicionar um carimbo de data/hora à sua assinatura significa que a macro continuará a ser tratada como assinada, mesmo depois de o certificado expirar, desde que o certificado não seja revogado. Isto pode reduzir a interrupção para os utilizadores.

Um certificado que está apenas expirado ainda pode ser utilizado para validar o código, mas não pode ser utilizado para assinar novo código.

Para adicionar um carimbo de data/hora, tem de adicionar três chaves ao seu registo.

Atenção:  A edição incorreta do registo pode danificar seriamente o sistema. Antes de fazer alterações ao registo, deve criar uma cópia de segurança de todos os dados importantes no computador.

Tecla

Tipo

Descrição

HKCU\Software\Microsoft\VBA\Security\TimeStampURL

REG_SZ 

O URL do servidor de carimbos de data/hora preferido. (Obrigatório)

HKCU\Software\Microsoft\VBA\Security\TimeStampRetryCount

REG_DWORD

O número de vezes que o Visual Basic Editor tentará ligar ao servidor de carimbo de data/hora antes de falhar. (Opcional – se não definir esta opção, o Visual Basic Editor apenas tentará contactar o servidor uma vez)

HKCU\Software\Microsoft\VBA\Security\TimeStampRetryDelay  

REG_DWORD

O número de segundos (em milissegundos) que o Visual Basic Editor aguardará entre tentar ligar novamente ao servidor de carimbo de data/hora. (Opcional - Se não definir esta opção, não haverá qualquer atraso entre as repetições)

Depois de adicionar uma entrada TimeStampURL em funcionamento, o Visual Basic Editor adicionará automaticamente um carimbo de data/hora sempre que assinar digitalmente uma macro.

Notas adicionais

  • Recomenda-se que assine macros apenas depois de a sua solução ter sido testada e pronta para distribuição: quando o código num projeto de macro assinado for alterado de qualquer forma, a respetiva assinatura digital é removida. Contudo, se tiver o certificado digital válido anteriormente utilizado para assinar o projeto no computador, o projeto de macro é novamente assinado de forma automática assim que for guardado.

  • Uma forma de impedir que os utilizadores alterem acidentalmente o seu projeto de macro e invalidem a sua assinatura é bloquear o projeto de macro antes de aplicar a assinatura. A sua assinatura digital garante que o projeto não foi adulterado desde que o assinou, mas não prova que escreveu o projeto. Mesmo que tenha bloqueado o seu projeto de macro, outro utilizador poderá ainda conseguir substituir a sua assinatura por outra assinatura. Os administradores empresariais também podem voltar a assinar modelos e suplementos para garantir que apenas o conteúdo aprovado é executado em computadores da empresa.

  • Se criar um suplemento que adiciona códigos a um projeto de macro, o código deverá determinar se o projeto é assinado digitalmente e notificar os utilizadores das consequências de modificar um projeto assinado antes de continuarem.

  • Os utilizadores que utilizam certificados comerciais podem encontrar blocos devido à limitação dos algoritmos hash suportados na assinatura. Pode adicionar um valor-chave de registo DWORD V1HashEnhanced para escolher outro algoritmo hash, em HKCU\SOFTWARE\Microsoft\VBA\Security com regras de algoritmo de valor (1 a SHA1, 2 a SHA256, 3 a SHA384, 4 a SHA512 e outros a MD5). Esta definição está disponível nas versões mais recentes do canal CC.

Saiba mais

Ativar ou desativar macros em ficheiros do Microsoft 365

Nota: Este artigo foi criado por uma pessoa com a assistência de uma inteligência artificial (IA).

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.