Pessoal pesquisando na internet achei um código que possibilita colocar uma validade na minha planilha. O problema e que depois que vence a validade se o usuário atrasar o calendário do Windows o código e burlado. Alguém me pode ajudar nesse problema?
Private Sub Workbook_Open()
Application.EnableCancelKey = xlDisabled
Dim dt As Date
'Escolha a data em a Pasta de Trabalho deverá expirar (ano, mês, dia)
dt = DateSerial(2015, 6, 29)
If Date >= dt Then
MsgBox "Esta Pasta de Trabalho expirou! Favor contatar o administrador."
ThisWorkbook.Close SaveChanges:=False
End If
End Sub
Você pode gravar a data cada vez que a planilha for aberta em uma célula qualquer protegida e colocar para checar caso a data for menor do que a existente na célula dê a informação de data corrompida e fecha a planilha.
Se o usuário sempre tiver acesso à internet pode também por para pegar a data da internet, aí não dependerá da data local da máquina.
Vbajr como seria um exemplo de pegar a data da internet.
Marcelo Prudencio
"Começar já é a metade do caminho."
Autor Desconhecido
Simplifica que simples fica.
Nicole Tomazella.
"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.
Sub InternetDate() Dim Request As Object Dim ServerURL As String Dim Results As String Dim NetDate As String Dim LocalDate As Date ServerURL = "http://www.timeanddate.com/worldclock/fullscreen.html?n=2" Set Request = CreateObject("Microsoft.XMLHTTP") Request.Open "GET", ServerURL, False, "", "" Request.Send Results = Request.getResponseHeader("date") Results = Mid(Results, 6, Len(Results) - 9) NetDate = Left(Results, Len(Results) - 9) NetDate = Format(Results, "DD/MM/YYYY") MsgBox NetDate Set Request = Nothing End Sub
Fonte: http://www.myengineeringworld.net/2013/ ... r-vba.html