Página 1 de 1

Abrir arquivo somente com a macro habilitado

Enviado: 17 Nov 2015 às 17:00
por Albino10
Senhores,
Tenho um arquivo com macro inicial que pede: nome de usuário e senha para abrir o arquivo e com opção de cadastrar novos usuários nessa mesma tela inicial.
Contudo, se o excel estiver com a macro desabilitada, o arquivo abre normalmente dando acesso a qualquer um de visualizar as planilhas.
Gostaria de aprender como impedir que esse arquivo seja aberto mesmo que a macro esteja desabilitada.
Desde de já antecipo os meus agradecimentos
Um abraço grande

Re: Abrir arquivo somente com a macro habilitado

Enviado: 17 Nov 2015 às 17:55
por Parkeless
Você pode fazer com que o Excel oculte todas as abas antes de fechar, e reexiba antes de abrir...

Eu fiz da seguinte forma:

Criei uma planilha chamada "Área de Segurança", em que nela havia uma imagem com o dizer, "Para a utilização dessa planilha, as macros precisam estar habilitadas!"

E fiz um código beforeclose, tipo,

---
Workbook_BeforeClose(Cancel As Boolean)
Dim planilha as worksheet

For each planilha in worksheets
If planilha.name <> "Área de Segurança" then: planilha.visible=xlveryhidden
Next planilha
End sub
-----

O contrário ao abrir:

----
Private Sub Workbook_Open()
For each planilha in worksheets
If planilha.name <> "Área de Segurança" then: planilha.visible=xlSheetVisible
Next planilha
End sub

---

Assim se a pessoa abrir sem macro, não vai ter acesso, porque é a própria macro que habilita tudo...

Isso te atende?

Re: Abrir arquivo somente com a macro habilitado

Enviado: 18 Nov 2015 às 12:34
por Albino10
Obrigado Parkeless pelo seu retorno,
Vou aplicar os comandos que você me orientou e te confirmo, OK? só peço um tempinho, por favor, porque sou meio lento nisso, estou aprendendo macro em vídeos aulas na internet e montei este programa, achei sua idéia muito boa, acho que vai atender totalmente o meu interesse, já já fecho esse fórum de acordo com as normas.
Um abraço grande

Re: Abrir arquivo somente com a macro habilitado

Enviado: 18 Nov 2015 às 13:22
por Parkeless
Tranquilo cara, faz no seu tempo.

Se você está aprendendo, talvez não sabia disso, então estou adiantando:

Essas macros, OnOpen/BeforeClose, não podem ser colocadas em um módulo, igual as outras macros.

No editor do VBA, no canto superior esquerdo estão os seus projetos (planilhas abertas e etc). No seu projeto, clique duas vezes em "EstaPasta_de_trabalho".

Imagem

Irá abrir uma área de texto. É ali que você deve colocar.

Assim ela ficará não em um módulo, mas na própria pasta da trabalho, e será executada automaticamente de acordo com o que o nome da sub sugere (ao abrir a pasta de trabalho , antes de fechar, etc)

Re: Abrir arquivo somente com a macro habilitado

Enviado: 18 Nov 2015 às 14:58
por Albino10
Funcionou, mas apresentou dois detalhes:
O PRIMEIRO:
Na tela inicial que pede "Nome de Usuário" e "Senha", além de ter a opção "Cadastrar Novo Usuário" também tem a opção "Sair" para o caso do usuário desistir de abrir o projeto, certo?
Só que para "Sair" preciso clicar nele 9 vezes que é o nº correspondente as planilhas do projeto.
Vou continuar analisando e fazendo testes enquanto aguardo você, OK?

Re: Abrir arquivo somente com a macro habilitado

Enviado: 18 Nov 2015 às 16:29
por Albino10
O SEGUNDO:
Quando entro com "Usuário e Senha" aparece a mensagem: "Erro em tempo de execução '1004': O método Select da classe Worksheet falhou. ( que é a planilha que será buscada para o usuário trabalhar)

Abrir arquivo somente com a macro habilitado

Enviado: 19 Nov 2015 às 10:08
por Parkeless
Hm...

Você consegue disponibilizar o arquivo?

Abrir arquivo somente com a macro habilitado

Enviado: 19 Nov 2015 às 12:24
por Albino10
Consegui Parkeless, valeu mesmo, seus comandos estavam certíssimos, eu é que estava incluindo o comando de abrir o arquivo sempre na tela de: "usuário e senha", errado, mas de tando exercitar (ontem e hoje) consegui, levei uma surra mas eu tenho que aprender, eu gosto demais de excel.
Muuuito obrigado pela sua ajuda e presteza.

Re: Abrir arquivo somente com a macro habilitado

Enviado: 19 Nov 2015 às 12:33
por Parkeless
Isso