(Como) Posso ativar macros emumArquivo Excel (2007)?
Desativar a segurança de macros por meio da Central de Confiabilidade permite que macros sejam ativadastodosplanilhas. Posso configurá-lo para 'Desativar todas as macros com notificações', mas o Excel bloqueará automaticamente as macros no meu arquivo e eu terei que passar peloAviso de segurança / Opções / Habilitar este conteúdotoda vez:
Eu não quero usar oLocais confiáveisrecurso, porque o arquivo se move entre locais físicos.
Pela mesma razão, os certificados digitais mencionados emessa questãonão são uma opção.
Salvando o arquivo como umPasta de trabalho habilitada para macro do Excel( .xlsm
extensão) não faz diferença.
Responder1
Mesmo que o arquivo seja movido, você pode usar um certificado digital para assinar seu projeto de macro usando um certificado de uma empresa confiável.CA.
Na verdade opropósitoA função do MS Office para assinar digitalmente projetos de macros é que ele seja executado a partir de qualquer local que tenha macros confiáveis ativadas e seja executado sem aviso.
Sem assinatura digital, não há como executá-lo em qualquer estação de trabalho sem qualquer aviso, pois isso anula todo o propósito de segurança construído em torno de macros.
Veja como você pode assinar digitalmente seu projeto macro:
Abra o arquivo que contém o projeto de macro que você deseja assinar.
Na
Developer
aba, noCode
grupo, clique emVisual Basic
.No Visual Basic, no
Tools
menu, clique emDigital Signature
. A caixa de diálogo Assinatura digital é exibida.Selecione um certificado e clique em OK.
Notas:
a) Se a guia Desenvolvedor não estiver disponível: Clique na File
guia. Clique em Options
. Clique em Customize Ribbon
. Na lista Personalizar a faixa de opções, clique em Developer
e, em seguida, clique em OK.
b) Caso você não tenha selecionado um certificado digital ou queira utilizar outro, clique em Choose
. Selecione um certificado e clique em OK.
c) É recomendado que você assine macros somente após sua solução ter sido testada e estar pronta para distribuição: quando o código em um projeto de macro assinado é alterado de alguma forma, sua assinatura digital é removida. No entanto, se você tiver o certificado digital válido que foi usado anteriormente para assinar o projeto em seu computador, o projeto de macro será assinado novamente automaticamente quando você salvá-lo.
d) Se você quiser evitar que os usuários da sua solução alterem acidentalmente seu projeto de macro e invalidem sua assinatura, bloqueie o projeto de macro antes de assiná-lo. A sua assinatura digital implica que você garante que o projeto não foi adulterado desde que você o assinou. Sua assinatura digital não prova que você escreveu o projeto. Portanto, bloquear o seu projeto de macro não impede que outro usuário substitua a assinatura digital por outra assinatura. Os administradores corporativos podem assinar novamente modelos e suplementos para que possam controlar o que os usuários executam em seus computadores.
e) Se você criar um suplemento que adicione código a um projeto de macro, seu código deverá determinar se o projeto está assinado digitalmente e deverá notificar os usuários sobre as consequências da alteração de um projeto assinado antes de continuarem. Ao assinar macros digitalmente, é importante obter um carimbo de data/hora para que outros usuários possam verificar sua assinatura se o certificado usado para a assinatura expirou ou foi revogado após a assinatura. Se você assinar macros sem carimbo de data/hora, a assinatura permanecerá válida durante o período de validade do seu certificado.
f) Observe queAssinando digitalmente seu projeto macroé diferente delocais confiáveis.
Referências:
Responder2
Acredito que isso seja possível no Windows (veja comentários de outras pessoas).
No Mac, os controles granulares não parecem estar disponíveis (veja tambémMacros do Excel 2016 - Problema no Windows/Mac).
Para evitar o pop-up "Ativar/Desativar macros", você pode ir para Excel -> Preferências -> Segurança -> Habilitar todas as macros.
No entanto, isso obviamente não é bom em termos de segurança.