Sabe aquela que você coloca uma senha no módulo, pra toda vez que for abrir o editor de código ele pede uma senha? Então, eu tenho a senha, e queria abrir um módulo,porém, informando senha via vba.
Atenção: não é a senha da pasta de trabalho e sim a do editor de código VBA.
Alguém pode me ajudar?
Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Abrir módulo com senha através do VBA
-
- Acabou de chegar
- Mensagens: 8
- Registrado em: Qua Jun 05, 2019 11:44 am
Re: Abrir módulo com senha através do VBA
Vou começar com o óbvio: A partir de outro projeto VBA, sim, mas não do próprio já que estaria protegido pelo próprio (?).
O código abaixo funcionou para mim. Cria um arquivo chamado "vba_protegida.xlsm" na sua Área de Trabalho (Desktop) com um projeto VBA protegido por senha (123) e use este código para abri-lo:
ATENÇÃO: é preciso adicionar referência ao Microsoft Visual Basic for Applications Extensibility 5.3 .
Fontes:
https://www.mrexcel.com/board/threads/h ... ode.49034/
https://groups.google.com/g/microsoft.p ... faOw?pli=1
https://www.engram9.info/excel-2002-vba ... bject.html
O código abaixo funcionou para mim. Cria um arquivo chamado "vba_protegida.xlsm" na sua Área de Trabalho (Desktop) com um projeto VBA protegido por senha (123) e use este código para abri-lo:
Código: Selecionar todos
Sub AbreArquivoXLSMEDestropege()
Dim arquivo As Workbook
Set arquivo = Workbooks.Open(Environ("USERPROFILE") & "\Desktop\vba_protegida.xlsm")
Dim projetoVBA As VBProject
Set projetoVBA = arquivo.VBProject
'caso o projeto já esteja desbloqueado, pára por aqui
If projetoVBA.Protection <> 1 Then Exit Sub
'define o projeto ativo como o do arquivl aberto
Set Application.VBE.ActiveVBProject = projetoVBA
'a senha neste caso é 123
Dim senha As String: senha = "123"
SendKeys senha & "~~" 'digita a senha via sendkeus
'confirma
Application.VBE.CommandBars(1).FindControl(ID:=2578, recursive:=True).Execute
End Sub
Fontes:
https://www.mrexcel.com/board/threads/h ... ode.49034/
https://groups.google.com/g/microsoft.p ... faOw?pli=1
https://www.engram9.info/excel-2002-vba ... bject.html
-
- Acabou de chegar
- Mensagens: 8
- Registrado em: Qua Jun 05, 2019 11:44 am
Re: Abrir módulo com senha através do VBA
Desculpe a demora em responder, porém o código para a execução, ao chegar na linha:
Application.VBE.CommandBars(1).FindControl(ID:=2578, recursive:=True).Execute
Outra coisa, na verdade o que estou precisando é o seguinte:
Tem como me ajudar?
Application.VBE.CommandBars(1).FindControl(ID:=2578, recursive:=True).Execute
Outra coisa, na verdade o que estou precisando é o seguinte:
- Entrar em uma pasta de trabalho, através do access
- abrir o editor e inserir a senha, pois o código é protegido por senha
- no evento "Open" da thisworkbook, comentar cada linha existente
- salvar e fechar o arquivo
Tem como me ajudar?
Re: Abrir módulo com senha através do VBA
acho que precisa ativar a confiança em projetos VBA nas opções do Excel:
- Inicie o Microsoft Excel.
- Abra uma pasta de trabalho.
- Clique em Arquivo e, em seguida, em Opções.
- Na área de janela de navegação, selecione Trust Center.
- Clique em Configurações do Trust Center....
- Na área de janela de navegação, selecione Configurações da Macro.
- Assegure que Confiar acesso ao modelo de objeto do projeto VBA esteja marcado.
- Clique em OK.