Ir ao conteúdo
  • Cadastre-se

Como fazer expirar uma planilha de excel - com ou sem macro?


Posts recomendados

Olá pessoal, boa tarde.

Estou com um problema e andei navegando pela rede mas ainda não achei uma solução, vamos ver se alguém pode dar uma ajuda.

Tenho um mega arquivo de excel, cheia de fórmulas, diversas planilhas, milhares de linhas, contendo toda nossa lista de preços (mais de 2.000 itens), com todas as fórmulas de custeio, para permitir formar nossos preços de venda conforme as margens desejadas.

Até aí tudo fácil.

Mas acontece que vou precisar distribuir ela para vários vendedores da empresa, não tenho outra alternativa.

 

Então preciso fazer com que ela perca a validade e não seja mais aberta depois de uma determinada data de validade.

Também até aí é fácil.

Fiz uma macro comparando HOJE e a DATA DE VALIDADE informada, coloquei ainda uma rotina para impedir que os espertos troquem a data do sistema para trás, e tudo funciona bem, se a data estiver expirada o arquivo não abre mais.

 

Mas tudo isso somente funciona SE o usuário HABILITAR OS MACROS no SEU computador.

Se o usuário desabilitar os macros a planilha irá abrir normalmente e de nada resolveu.

Também não tenho como mexer nas configurações dos micros dos vendedores pois são dezenas e todos externos, impossível.

 

Então, qual a minha saída?? Como fazer o arquivo NÃO ABRIR após determinada data e de forma nenhuma, nem mesmo desabilitando as macros??

 

Agradeço sugestões, o mais detalhadas que conseguirem, por favor, pois não sou programador avançado de VBA. Apenas um usuário um pouquinho mais esclarecido.

 

Obrigado pelo apoio.

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Boa tarde cbsgrillo

 

Experimente colar este código num módulo, que faz com que a planilha seja apagada no vencimento.

 

Não se esqueça de colocar uma senha no Projeto VBA.

 

Não se esqueça de alterar a data de vencimento.

Sub workbook_open()If Date <= #10/11/2014# Then Exit SubMsgBox "Planilha fora da validade"With ThisWorkbook    .Saved = True    .ChangeFileAccess xlReadOnly    Kill .FullName    .Close FalseEnd WithEnd Sub

Este outro exemplo de código bloqueia a planilha após 30 dias de uso, só desbloqueia com a senha.

Coloque este código no módulo Esta Pasta de Trabalho.

Não se esqueça de adaptar a tua planilha

Private Sub Workbook_Open()Dim cont, auxcont As IntegerDim senha, enter_snh As String  senha = "1234"  Range("c10000") = Date  If Range("b10000") = nill Then  Range("b10000") = Date  End If  cont = Format(Range("c10000") - Range("b10000"), "0")  auxcont = 30 - cont  If cont >= 30 Then  enter_snh = InputBox("ESSE PROGRAMA EXPIROU, INFORME A SENHA DE ACESSO:", "Informe...")  If enter_snh <> senha Then  MsgBox "Senha incorreta!", vbInformation, "Erro"  Saved = True  ActiveWorkbook.Close  End If  Else  MsgBox "Faltam " & auxcont & " dias  para expirar."  End If  End Sub

OBS.:  Você tem que estar ciente, que no Excel não existe 100% de segurança, pois para uma pessoa que tenha mais conhecimento, não tem senha que impeça de fazer modificações  e desbloqueios.

 

Se a resposta foi útil, clique em Curtir

 

[]s

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!