View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
steveb[_4_] steveb[_4_] is offline
external usenet poster
 
Posts: 24
Default password protection

Bruce,

This might be a little way out but try something like:

Use a workbook close event to xlVeryHidden all but one of your worksheets.

In the workbook open macro have something like:
pswrd = InputBox("Enter Password","Password")

than use If....Then or Select Case to test for
Date < yourcutoff date
pswrd = "password"
set up conditions for all your time periods

if the test is true than unhide all the worksheets. If false close the
workbook.

This code is untested but should work. Copy and paste into the
"ThisWorkbook" Module.
Keep in mind that it can be easily defeated by a skilled Excel person.

Add additonal 'Case' statements for your time periods and input your
own 'PsWord' for each.

''''''''''''''''''''''''''''''
Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim x As Long
For x = 2 To ActiveWorkbook.Worksheets.Count
Sheets(x).Visible = xlVeryHidden
' hides all but the first worksheet
Next
End Sub

Private Sub Workbook_Open()
Dim pswrd As String, PsWord As String, dte As Date

' Ask user for password
pswrd = InputBox("Enter Password", "Password")
' Today's date
dte = Date

Select Case dte
Case #1/1/2004# To #12/31/2004#
PsWord = "Word for 2004"
Case #1/1/2005# To #12/31/2005#
PsWord = "Word for 2005"
End Select

If pswrd = PsWord Then
' if password is correct, unhide the worksheets
Dim x As Long
For x = 2 To ActiveWorkbook.Worksheets.Count
Sheets(x).Visible = True
Next
' if the password is incorrect, close the workbook
Else
ThisWorkbook.Saved
ThisWorkbook.Close False
End If

End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''' '''''
--
steveb
(Remove 'NOSPAM' from email address if replying direct)


"bruce forster" wrote in message
...
I know it is difficult to protect programs in excel but I would like to

know if there is a way to put code in the Workbook start up module that
would require a different password every 6 months to open. I thought I
could have maybe 20 passwords, one for every 6 months, that would cover me
for 10 years.

Maybe an if Now is past a particular date require a password. Then the

code would run the clock again until another 6 months expires.

Any suggestions would be great.

Please provide detailed code as i am a newbie.