Página 1 de 1

Desabilitar o botão de macros

Enviado: 08 Dez 2015 às 07:46
por Helder
Bom dia meus amigos, estou tentando proteger minha planilha contra macros externas desabilitando o botão de macros da Guia Exibição. Já tentei "proteger pasta de trabalho" e "proteger planilha", mas a mesma continua habilitada e funcionando.
Já encontrei planilhas protegidas nesse nível mas só agora tenho essa necessidade.

Obrigado.

Re: Desabilitar o botão de macros

Enviado: 08 Dez 2015 às 09:04
por laennder
É possível desabilitar para que as macros não seja executadas, mas essa é uma configuração local.

Clique no menu Arquivo e depois escolha Opções.

Clique em Central de Confiabilidade (1), depois Configurações da Central de Confiabilidade (2), Configurações de Macro (3), e depois marque a opção para desabilitar as macros.

Imagem

Imagem

Re: Desabilitar o botão de macros

Enviado: 09 Dez 2015 às 09:06
por Helder
Bom dia Laennder, o que estou procurando é uma forma de desabilitar o botão do gravador de macros. Faço algumas planilhas de controle em VBA e como você mesmo diz, pesquiso muitas planilhas prontas, para aprendere aproveito muitos códigos, principalmente os de loop. Minha última descoberta foi habilitar uma planilha pelo número do HD, impedindo que um arquivo seja aberto em outra máquina, mas isso é outro assunto.

O que estou pesquisando é uma forma de impedir a quebra da planilha por uma macro externa. Vou tentar achar a planilha com essa configuração novamente e enviar.

Obrigado.

Desabilitar o botão de macros

Enviado: 09 Dez 2015 às 09:39
por Parkeless
E aí Helder!

Acho que isso aqui resolve:


VBE > Project Explorer> Lado direito do mouse na planilha > Propriedades > Proteção
Preencher conforme abaixo:
Imagem

Depois, salve, feche a planilha, abra-a, e tente gravar uma macro. Se fez certo, deve aparecer uma mensagem de inserção de senha:

Imagem

Era isso mesmo?

Obs.: Como travar a planilha por HD? Essa não sei :D :D

Re: Desabilitar o botão de macros

Enviado: 09 Dez 2015 às 13:42
por Helder
Boa tarde Parkeless
A respeito do número do HD, este é o código que utilizo para obter o número do computador de meus clientes.

Sub teste() 'Essa macro é aplicada ao botão da planilha que chama a função que faz a análise.
NumSérie (Drive)
End Sub

Function NumSérie(Drive) 'Essa função retorna o número de série do HD

Dim FS As Object, D As Object, S As String, TIPO()
TIPO = Array("Desconhecido", "Removível", "Fixo", "Rede", "CD-Rom", "RAM Disc")
Set FS = CreateObject("Scripting.FileSystemObject")
Set D = FS.GetDrive(FS.GetDriveName(FS.GetAbsolutePathName(Drive)))
'S = "Unidade " & D.DriveLetter & ": - " & TIPO(D.DriveType)

If TIPO(D.DriveType) <> "Fixo" Then
NumSérie = S
Else
S = S & " SN: " & D.SerialNumber
NumSérie = S
End If
MsgBox D.SerialNumber

End Function

Com esse número em mãos eu insiro na minha planilha dentro da na função que analisa o número do HD que está no computador. É a mesma função que me retorna o número, porém inclui um If para analisar se o número é o mesmo que está registrado, caso contrário a planilha não abre.

Function NumSérie(Drive)

Dim FS As Object, D As Object, S As String, TIPO()
TIPO = Array("Desconhecido", "Removível", "Fixo", "Rede", "CD-Rom", "RAM Disc")
Set FS = CreateObject("Scripting.FileSystemObject")
Set D = FS.GetDrive(FS.GetDriveName(FS.GetAbsolutePathName(Drive)))
S = "Unidade " & D.DriveLetter & ": - " & TIPO(D.DriveType)

If TIPO(D.DriveType) <> "Fixo" Then
NumSérie = S
Else
S = S & " SN: " & D.SerialNumber
NumSérie = S
End If


If D.SerialNumber <> -137756912 Then 'inserir aqui o número do HD para a execução do programa "-137756912".
MsgBox ("Licença não liberada")

Dim Resp As Variant
Resp = InputBox(Senha, "Insira senha de Acesso")

If Resp <> 123 Then 'Exit Sub****************** 'Senha de acesso restrito **************************************

Application.Quit

ElseIf Resp = "" Then
Application.Quit

Else

MsgBox ("Seja bem vindo Helder, a planilha está liberada para você!!!")
End If
End If
End Function


Eu chamo essa função no Workbook_Open, para que a planilha antes de abrir verifique se o HD é o que está liberado para utilizar ou se irei inserir a senha de acesso (123) caso o cliente me envie a planilha para atualização, assim ela abre com a minha senha ou pelo número do HD do meu cliente. Se ele trocar de computador é só enviar uma planilha com a primeira função e anotar o novo número da máquina. Se pode inserir também uma matriz com vários números de HD autorizados a abrir essa planilha.

Private Sub Workbook_Open()
NumSérie (Drive)
End Sub

Ela irá verificar se é o computador correto, caso contrário o arquivo nem abre.

Quanto ao desabilitar o botão de gravar macros, é exatamente para ninguém rodar aquela macro que quebra as senhas das planilhas.

O conhecimento é uma das poucas coisas que aumenta quando se divide.
Abraço

Desabilitar o botão de macros

Enviado: 09 Dez 2015 às 14:05
por Parkeless
Helder,

Interessante, vou testar, obrigado =D

Mas a pergunta que não quer calar kk, colocar senha no VBE, dá certo para o seu caso?

Porque através disso você não consegue gravar nem incluir códigos na sua planilha, mas não sei se ainda dá para rodar um código de quebra de senha a partir de outra pasta de trabalho aberta... só testando

Re: Desabilitar o botão de macros

Enviado: 11 Dez 2015 às 08:56
por Helder
Bom dia pessoal, ainda não consegui descobrir. Tenho que encontrar a planilha com essa configuração para postar para vocês.

Como digo para meus alunos, o Excel só não faz chover, ainda...
E vamos seguindo estudando, pesquisando e aprendendo.

Obrigado e abraço.

Re: Desabilitar o botão de macros

Enviado: 11 Dez 2015 às 11:36
por WagnerMorel
Prezados,

Bom dia!

Apenas tentando contribuir um pouco mais com a questão, gostaria de explicitar que nenhum código que coloquemos em nossos projetos VBA e nenhuma senha de proteção (do projeto ou da planilha) impede que pessoas não autorizadas vasculhem, mexam e alterem o que fizemos!

Nada é 100% seguro! Existe na internet uma variedade imensa de soluções, pagas ou gratuitas, que se prestam a desbloqueio e quebra de senhas de projeto e de planilha. Fora isso, basta utilizar um programa de planilha eletrônica com o Calc da suíte BROffice para abrir o arquivo Excel que ele, simplesmente, escancara todo o seu arquivo, mostrando senhas, código, formulários, etc.

Re: Desabilitar o botão de macros

Enviado: 22 Dez 2015 às 18:57
por Helder
Bom amigos, gostei da dica do Wagner e por isso vou dar essa dúvida por resolvida. Daqui uns dias mando mais umas, estou trabalhando numa planilha montada em VBA para controle de uma oficina.

Abraços e Boas Festas!!!