(Como) Posso ativar macros em 1 Excel (2007) arquivo?
Desativar a segurança de macros através do Centro de Confiança permite que as macros todos planilhas. Eu posso configurá-lo para "Desativar todas as macros com notificações", mas o Excel irá bloquear automaticamente as macros no meu arquivo e eu tenho que passar pelo Aviso de Segurança / Opções / Habilite este conteúdo toda vez:
Eu não quero usar o Locais confiáveis recurso, porque o arquivo se move entre locais físicos.
Pela mesma razão, os certificados digitais mencionados essa questão não são uma opção.
Salvando o arquivo como um Pasta de trabalho habilitada para macro do Excel ( .xlsm
extensão) não faz diferença.
microsoft-excel
security
microsoft-excel-2007
macros
Jan Doggen
fonte
fonte
Respostas:
Mesmo que o arquivo se mova, você pode usar um certificado digital para assinar seu projeto de macro usando um certificado de um CA .
Na verdade o finalidade da função no MS Office para assinar digitalmente projetos de macros é para que ele seja executado de qualquer local que tenha macros confiáveis ativadas e execute-o sem um aviso.
Sem assinar digitalmente, não há nenhuma maneira, você pode tê-lo executado em qualquer estação de trabalho sem qualquer aviso, uma vez que derrota toda a finalidade de segurança construída em torno de macros.
Aqui está como você pode assinar digitalmente o seu projeto de macro:
Abra o arquivo que contém o projeto de macro que você deseja assinar.
No
Developer
guia, noCode
grupo, cliqueVisual Basic
.No Visual Basic, no
Tools
menu, cliqueDigital 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 no
File
aba. CliqueOptions
. CliqueCustomize Ribbon
. Na lista Personalizar a Faixa de Opções, clique emDeveloper
e, em seguida, clique em OK.b) Se você não tiver selecionado um certificado digital ou quiser usar outro, clique em
Choose
. Selecione um certificado e clique em OK.c) É recomendável que você assine as macros somente depois que sua solução tiver sido testada e pronta para distribuição: quando o código em um projeto de macro assinado for alterado de alguma forma, sua assinatura digital será 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 é automaticamente assinado novamente quando você salvá-lo.
d) Se você quiser impedir que os usuários de sua solução alterem acidentalmente o seu projeto de macro e invalidem sua assinatura, bloqueie o projeto de macro antes de assiná-lo. 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 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 poder controlar o que os usuários executam em seus computadores.
e) Se você criar um suplemento que adiciona código a um projeto de macro, seu código deve determinar se o projeto está assinado digitalmente e deve notificar os usuários sobre as consequências de alterar um projeto assinado antes que eles continuem. Quando você assina digitalmente macros, é importante obter um registro de data e 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 um registro de data e hora, a assinatura permanecerá válida durante o período de validade do seu certificado.
f) Observe que Assinatura digital do seu projeto de macro é diferente de locais confiáveis .
Referências:
fonte