One other step you might consider taking then is to digitally sign the
project. You can create your own digital signature to use, or you can pay
big $$ to get one from some place like VeriSign. For instructions on
creating your own and signing the project with it, use Excel Help and enter
digital signature
as the search for parameter. You'll find sub topics on signing a project
and how to create the signature.
And as "proof" of creation date, perhaps save a copy somewhere only you have
access to and leave it untouched. That will show the date/time the file was
created. Of course, that doesn't prove that you didn't change the system
date/time just before saving it.
"Mr BT" wrote:
"JLatham" <HelpFrom @ Jlathamsite.com.(removethis) wrote in message
...
I discussed this issue at some length with another individual who has a
product that he'd started in Excel with the intent of going commercial
with
it. He had 2 issues: #1 protecting his 'intellectual property' -
primarily
the code behind the scenes that got the job done in a very complex
workbook.
#2 licensing issues to make sure that a) demo would expire when planned
and
b) only licensed copies would be used - to help prevent excessive
pirating.
We looked into several "Excel Compiler"s (do a search, you'll turn up some
possible ones - quality ranges from mere toys to pretty good, but still
with
limitations and a learning curve to use them) as a means to protect the
intellectual property side and to try to implement some licensing use
issues.
In the end, for his application, none seemed wholly suitable and he is now
having the entire project written in C using the Excel package as the
'product requirements specification'.
As Otto has said, it's just too easy for a knowledgable individual to
break
any such protection you may try to implement in an Excel package. There
are
very good password cracking tools available to quickly unlock a workbook
or
worksheet, and even some available to unlock the tighter password
protection
that can be applied to the VBA project in a workbook.
But that's the place to start: password protect your VBA project in the
workbook from viewing. As noted earlier, these passwords are tougher to
crack than workbook/worksheet passwords, so your first steps a
#1 - make a backup copy of the workbook with no password protection
applied
at all.
#2 - write down the password you will use to lock the VBA application.
Then in the copy you plan on trying to distribute, go into the VB Editor
and
choose
Tools | VBAProject Properties
go to the [Protection] tab and check the box next to "Lock Project for
Viewing" and then provide the password. Save the workbook. Next time you
try to use the VBEditor (after closing the workbook) you'll be asked to
provide the password before you can view the project's content, including
the
VBA code.
If you want to set up a way to force them to activate macros, you can try
this (again, not proof against the determined and industrious):
Add a single sheet to your workbook that has a notice that if they are
seeing it, then macros are disabled and they must enable macro usage to
use
the workbook. Include instructions on how to enable macros (recommend
using
the Medium setting: pre-2007 or the 'Disable with notice' in 2007).
Go into your VB Editor and set the visible property of all other sheets to
xlSheetVeryHidden - this keeps them from even showing up in the list of
Format | Sheets | Unhide. Leave only the 'alert/instruction' sheet
visible.
In the workbook Open() event, put code to make the very hidden sheets
visible again, and to hide that alert/instruction sheet! If macros are
turned off, then that code can't execute and the sheets remain very hidden
with the alert/instruction sheet staring them in the face. This will
probably force 90% of the people to enable macros the next time out - the
%
that aren't in the "determined and industrious" group.
In the workbook _BeforeClose() event, do the reverse: make the
alert/instruction sheet visible again (do that first) then set all other
sheets to xlVeryHidden again.
Keep in mind that a workbook must always have at least 1 visible sheet -
so
the sequence of unhide/hide is important so that you aren't trying to have
all sheets hidden at one time - ERROR!
"Mr BT" wrote:
Like some software out there are demos and run out after 60 or so many
days
unless they have some code to keep it going, can it be done with an Excel
workbook?
I want my workbook to be used for so many days and then they will have to
upgrade to the next version. I'm not charging the users anything to use
the
workbook, but my employers are not paying me for something I've done on
my
own time.
Thanks,
Mr BT
Thank you very much for your assistance. What you have provided will help a
great deal.
My main concern is that my "colleagues" could claim rights to the
application that I've created. I would like the "demo" to become extinct
with a passcode (which they would never figure out just on a moment's
notice, and make it obvious they (colleagues) did not create my software
(I'm not really sure what I can call it).
Thanks again.
Mr BT