Ativar macros para um arquivo específico do Excel

3

(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:

enter image description here

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.

Jan Doggen
fonte
Se você estiver usando o Excel 2003 ou 2007, será possível definir o arquivo como "Perguntar a cada vez", veja aqui: exceltrick.com/how_to/enable-macros-in-excel
ejbytes
@ejbytes Sim, mas eu prefiro que não pergunte a cada vez
Jan Doggen

Respostas:

4

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:

  1. Abra o arquivo que contém o projeto de macro que você deseja assinar.

  2. No Developer guia, no Code grupo, clique Visual Basic.

  3. No Visual Basic, no Tools menu, clique Digital Signature. A caixa de diálogo Assinatura digital é exibida.

  4. Selecione um certificado e clique em OK.

Notas:

a) Se a guia Desenvolvedor não estiver disponível: Clique no File aba. Clique Options. Clique Customize Ribbon. Na lista Personalizar a Faixa de Opções, clique em Developere, 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:

thilina R
fonte