This from Chip Pearson's site says it all.
Unfortunately, no VBA-based time-bombing method is foolproof. A skilled user can
quite easily circumvent the time-bomb code and get full access to the workbook,
even after it has expired. The code on this page also requires that the user has
macros enabled. If macros are disabled, the code will not work. (See Ensuring
Macros Are Enabled for code to force the user to enable macros.) All that said,
the time-bomb methods presented here are probably "good enough". They will not
prevent an experienced (and dishonest) user from circumventing the protection,
but the code will work for the vast majority of Excel users. All protection
mechanisms in Excel are really intended to prevent the user from accidentally
changing a value or some code. The security just isn't strong enough to provide
real protection of proprietary information or information or code with
intellectual property value. For that level of security, you should be writing
your code in Visual Basic 6 or VB.NET. See Creating A COM Add-In for details
about creating a COM Add-In and Automation Add Ins A Function Libraries for
details about creating an Automation Add-Ins.
http://www.cpearson.com/excel/workbooktimebomb.aspx
Go to the site and click on the links for Creating a COM add-in and the link to
Automation Add-ins.
Gord Dibben MS Excel MVP
On Sat, 22 Mar 2008 12:01:49 -0700 (PDT), anon <(E-Mail Removed)>
wrote:
>OK I understand I cannot make a wb entirely crack proof however I'm
>trying to cover all bases to get it as close as possible. I'd
>appreciate if anyone could spot any weakspots in the below process
>i've written or suggest any other ways to make it more difficult for
>the nasty people trying to get in!;
>
>1. If wb opened with macro's disabled only a splash screen is visible,
>all other sheets are very hidden (obviously wb and vb are protected
>with very long alphanumeric passwords)
>
>2. On first use wb creates a code (based on computer name and date)
>and asks for an activation code (given to them by me). 3 attempts at
>inputting the wb code and the wb deletes all sheets (no warning for
>sheet deletion)
>
>3. Once activated the wb is valid for 90 days or 30 uses, when it will
>then ask for another code. 3 attempts and workbook deletes all sheets
>(this won't be a problem as wb is not used to store data). No warning
>for sheet deletion (to prevent users looking for the code)
>
>4. If wb used on another computer it will recognise it is not the
>computer activated on and ask for another activation code as per step
>2.
>
>5. wb code well hidden among rubbish and the sheet storing the data is
>set to very hidden, plus the actual data on the sheet is hidden among
>lots of ubbish! If this data deleted the main code modules will not
>run as they check for this data being in place and if not there sheets
>are deleted
>
>This way basically wb cannot be distributed to other users, and
>certain users could not use the wb after a certain length of time or
>number of uses without an activation code. If a user discovered the
>security code and deleted it the main code module would check for this
>and delete all sheets.
>
>How does that sound?!!