View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
pgarcia pgarcia is offline
external usenet poster
 
Posts: 304
Default Macro to expire after a specified date

Thanks, also, do you put this in the "This Workbook" or it's module?

Option Explicit

Private Const C_NUM_DAYS_UNTIL_EXPIRATION = 90

Sub TimeBombWithDefinedName()
Dim ExpirationDate As String
Dim NameExists As Boolean

On Error Resume Next
ExpirationDate = Mid(ThisWorkbook.Names("ExpirationDate").Value, 2)
If Err.Number < 0 Then
NameExists = False
ExpirationDate = CStr(DateSerial(Year(Now), _
Month(Now), Day(Now) + C_NUM_DAYS_UNTIL_EXPIRATION))
ThisWorkbook.Names.Add Name:="ExpirationDate", _
RefersTo:=Format(ExpirationDate, "short date"), _
Visible:=False
Else
NameExists = True
End If

If CDate(Now) CDate(ExpirationDate) Then
MsgBox "This workbook trial period has expired.", vbOKOnly
ThisWorkbook.Close savechanges:=False
End If

End Sub

"Chip Pearson" wrote:

Specifically what piece of code are you referring to? The web page provides
several different methods of time bombing a workbook. The first one
described on the page uses a defined name called "ExpirationDate" that
contains the data after which the workbook is unusable. If you want to
remove the time bombing, you should delete that name. Of course, then next
time you open the workbook the name will be recreated. To permanently remove
the time bomb, you need to delete the VBA code.


--
Cordially,
Chip Pearson
Microsoft MVP - Excel, 10 Years
Pearson Software Consulting
www.cpearson.com
(email on the web site)


"pgarcia" wrote in message
...
Sir,
I want to use your "Time Bomb" VB code, but I have question on the
"Defined
Name". What name is it that we are to remove from the VB code?
Thanks

"Chip Pearson" wrote:

You could adapt the code on my "Timebombing A Workbook" page at
www.cpearson.com/Excel/WorkbookTimeBomb.aspx . Note that no VBA-based
protection scheme is foolproof. An experienced (and dishonest) user can
work
around any protection you provide. However, code such as is on the page
referenced above is "good enough" for the vast majority of users.


--
Cordially,
Chip Pearson
Microsoft MVP - Excel
Pearson Software Consulting
www.cpearson.com
(email on the web site)


"Dileep Chandran" wrote in message
oups.com...
Hello Masters,

How can I program a macro so that it expires after Jan 01, 2008. Any
help is greatly appreciated.

Thanks
-DC