Unless you compile your code (e.g., make a COM add-in), you're in for a
tough time. I've got one client who has about 10 different layers of
protection, which would keep novices out, and it still takes only about
60 seconds for a knowledgeable user (i.e., someone who can find and read
these newsgroups) to disable it.
You might look in the archives
http://groups.google.com/advanced_group_search?q=group:*excel*
for posts using "expire" as a keyword.
Compiled code can be fairly secure. Be sure to include a method for
renewing the license (e.g., an encrypted key) in the code.
XL2003 includes DRM, which requires a Windows 2003 Server to provide
access to the module. This would prevent use in XL97/98/00/01/02/v.X. I
have yet to have a client tell me that such a solution would be
acceptable, except possibly internally (but then none of my clients use
W2003 server, either).
Also, be careful: if you've already made the database for the company,
and you were contracted to do the work, the company already owns your
code, unless your contract specifies otherwise (at least in the US
jurisdictions I know of). If you're an employee, the same may apply,
depending on your explicit or implicit employment agreement - most
professional employment agreements that I've seen assign the rights to
*all* your related work to the company. Protecting it could be
considered fraud.