
Eu tenho uma pasta de trabalho com muitas planilhas, macros e cálculos em andamento. Agora preciso enviar esta planilha (não prevista antes de ontem). Como faço para bloqueá-lo para que os usuários:
- não conseguem acessar/ver as macros?
- não conseguem exibir planilhas ocultas?
- não conseguem ver o código ou adicionar código/
Eu passei e desbloqueei aquelas células que quero que elas mudem. Linhas ocultas de botões e fórmulas e depois bloqueadas. Planilhas ocultas. Agora protegi a planilha com uma senha.
No entanto,isso impede que os usuários acessem as macros/códigos?ouexibindo lençóis?Caso contrário, como posso bloquear a pasta de trabalho corretamente/com segurança/totalmente?
Parece um tipo de proteção de segurança de irmão mais velho, mas estou apenas garantindo que todas as células interligadas não sejam alteradas acidentalmente ou que uma macro seja executada e não preciso que elas sejam executadas.
Muito obrigado
Michael.
Responder1
Primeiro - observe que a maioria dos recursos de proteção do Excel sãonãorecursos de segurança. A maioria é facilmente quebrada ou contornada. Eles são bons para impedir danos acidentais - mas não impedirão ninguém que saiba o que está fazendo e realmente queira ver as partes que você escondeu.
Dito isto, aqui estão algumas respostas:
Proteção Inicial
Você cobriu isso, basicamente bloquear células e ocultar coisas e coisas necessárias.
Então protejatodofolha.
Em seguida, proteja a própria pasta de trabalho.
Folhas muito escondidas
As planilhas podem ficar "muito" ocultas, isso significa que só podem ser exibidas via VBA (elas não aparecem na lista de exibição na interface). Isto é feito simplesmente através de uma linha de VBA, que precisa ser executada pelo menos uma vez para acionar a mudança de configuração, e não precisa ser mantida no arquivo depois de executada (mas isso pode ser útil para lembrar quais planilhas exibir mais tarde):
Sheets("Sheet1").Visible = xlVeryHidden
Código VBA oculto
Defina uma senha em seu projeto. No editor VBA, clique com o botão direito em seu módulo Project Explorer
, escolha <ProjectName> Properties
e defina uma senha na Protection
guia.
Observe que eles podem ser abertos por força bruta.
Macros ocultas
Presumo que você queira dizer que não deseja que elas apareçam na lista de macros quando alguém abrir a Run Macro
janela.
Para fazer isso, faça com que a macro desejada seja a Private Sub
ou a Function
, isso as torna não visíveis como macros, mas ainda permite que sejam chamadas por outro código no mesmo módulo.
Eu não acho que você não possa impedir as pessoas decorrendoas macros visíveis e você não pode atribuir macros ocultas aos botões.
Responder2
Se você deseja apenas que os destinatários não alterem alguns bits acidentalmente, a proteção do Excel será suficiente. Mas se houver dados confidenciais que você não deseja que as pessoas que recebem a pasta de trabalho possam ver, eles não servem.
Se você deseja mostrar apenas os dados e não a formatação, uma maneira simples de “liberar” todos os dados ocultos é exportar cada planilha como CSV e reimportá-los como uma nova pasta de trabalho do Excel. (A segunda etapa é estritamente opcional, mas as pessoas não estão acostumadas com arquivos CSV, então é melhor enviar um arquivo Excel como esperam.)
Se você deseja um resultado apresentável que as pessoas não possam modificar, imprima as planilhas em um arquivo PDF e envie-o.