Página 1 de 1

LIMITAR TEMPO DE USO DE UMA PLANILHA (30 DIAS)

Enviado: 02 Nov 2015 às 18:22
por Reginaldo
Boa Noite,
Esta minha dúvida diz respeito ao seguinte, caso eu disponibilize alguma planilha para algum cliente, e este irá usá-la durante um período de 30 dias (ou mais conforme especificação). Como faço para limitar o tempo de uso de uma planilha por exemplo em 30 dias, e após este período ela trava até nova ativação? É possível?
Obrigado.

Re: LIMITAR TEMPO DE USO DE UMA PLANILHA (30 DIAS)

Enviado: 03 Nov 2015 às 10:46
por alexandrevba
Bom dia!!

Considerando que o seu projeto está protegido...
Dentro de EstaPasta_de_trabalho, insira o código.
Código: Selecionar todos
Private Sub Workbook_Open()
Dim Edate As Date
    Edate = Format("03/11/20115", "DD/MM/YYYY")
    If Date > Edate + 30 Then
    MsgBox "O arquivo vai expirar !!!"
    ActiveWorkbook.Close
End Sub
Não testado!!
Outra fonte:
http://excel.tips.net/T002590_Expiratio ... grams.html

Att

Re: LIMITAR TEMPO DE USO DE UMA PLANILHA (30 DIAS)

Enviado: 03 Nov 2015 às 16:20
por LeoStival
Minha resposta é mais um complemento à pergunta, mas vamos la:

Essa trava de 30 dias por VBA, na minha opinião, não é lá muito eficiente. Não por erro do código, mas porque a pessoa para quem você enviou o arquivo pode simplesmente não habilitar macros no arquivo dela. Isso faz com que o código não funcione e o arquivo seja aberto normalmente, mesmo depois dos 30 dias terem passado.

Eu acredito que forçar a ativação de macros no arquivo seja impossível. Abro caminho agora pros crânios do fórum :D

Re: LIMITAR TEMPO DE USO DE UMA PLANILHA (30 DIAS)

Enviado: 03 Nov 2015 às 16:46
por alexandrevba
Boa tarde!!
Essa trava de 30 dias por VBA, na minha opinião, não é lá muito eficiente. Não por erro do código, mas porque a pessoa para quem você enviou o arquivo pode simplesmente não habilitar macros no arquivo dela. Isso faz com que o código não funcione e o arquivo seja aberto normalmente, mesmo depois dos 30 dias terem passado.

Eu acredito que forçar a ativação de macros no arquivo seja impossível. Abro caminho agora pros crânios do fórum
Como regra da Microsoft, não uma forma garantida de ativar as macros, porém para usar o arquivo de forma plena, há como forçar.

Antes de enviar, pode se executar a macro para ocultar (xlveryhidden), as guias necessárias, além de proteger o ProjetoVBA, o usuário só vai usar o arquivo se habilitar as macros.

Ou pode editar uma hibbon
http://www.rondebruin.nl/win/s2/win001.htm


Att

LIMITAR TEMPO DE USO DE UMA PLANILHA (30 DIAS)

Enviado: 08 Nov 2015 às 20:31
por Reginaldo
Olá pessoal,
Desculpe a demora de entrar aqui mas o dia anda corrido. agradeço a todos. vou testar o que vocês me sugeriram e postarei aqui se deu certo ou não. Obrigado Galera.

Re: LIMITAR TEMPO DE USO DE UMA PLANILHA (30 DIAS)

Enviado: 09 Nov 2015 às 08:27
por alexandrevba
Bom dia!!!

Veja se ajuda.
Código: Selecionar todos
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    'https://support.microsoft.com/en-us/kb/142530
    Dim WS As Worksheet
 'O código vai ocultar a guia de desejada antes de fechar o arquivo
    Set WS = Worksheets("SuaGuia")
    WS.Visible = xlSheetVeryHidden

End Sub
Código: Selecionar todos
Private Sub Workbook_Open()
Dim Edate As Date
Dim WS As Worksheet

 'O código vai exibir a guia de desejada antes de fechar o arquivo
 'Obs: Caso as macros do usuario, não esteja habilitada, ele não verá o que deseja ver
    Set WS = Worksheets("SuaGuia")
    WS.Visible = True
    
    Edate = Format("03/11/20115", "DD/MM/YYYY")
    If Date > Edate + 30 Then
    MsgBox "O arquivo vai expirar !!!"
    ActiveWorkbook.Close
End Sub