If the workbook is modified and saved on the client's machine, then there is
not way to digitally sign with your signature, as your signature key files
are on your machine, many miles away. If the client needs all his files
digitally signed, then they need to sign the workbook with their signature.
I suspect they are not digitally signing their workbooks.
What you may want to do is split up your macros and your workbook. Put all
your macros into an add-in workbook and digitally sign it. Do not put any
macros in the worksheet workbook. Thus it will not need to be signed. It
will also make updating the macros easier as you only need to change the
add-in file.
Robert Flanagan
http://www.add-ins.com
Productivity add-ins and downloadable books on
VB macros for Excel
"Luke Stubbs" wrote in message
...
I have created a spreadsheet containing VBA code that I want to distribute
to customers. In order to let me run VBA on clients' machines, I have
bought a digital signature and have signed my file.
My problem is that the code needs to create new worksheets, but if I save
the file after doing so, Excel complains and drops the signature with the
error message "You have modified a signed project. You do not have the
correct key to sign this project. The signature will be discarded."
I think this arises because the new worksheet generates a corresponding
new 'Microsoft Excel Object' - i.e. Sheetx, and that VBA then considers
this amounts to changing the macros and therefore requires them to be
re-signed. My question - is this correct and if so, are there any
workarounds?
Thanks
Luke
Background information
- version : Excel 2003. Upgrading to 2007 is a possibility if it overcomes
the problem.
Other questions
Having read around the problem, I seem to have two options:- force users
to run macro security at low, or modify my code to run as an Excel Addin
file. I've never had to do either before, so
- Can I set a user's macro security level programmatically?
- If I went for the add-in approach, what would I lose? My workbook is
currently very interactive, with Macros running on some Change and Select
events; would that have to go?