Can’t perform operation since the project is protected

P

PaulSimonGB

I have two workbooks X & Y. Workbook X references Workbook Y. The VBA Project
in workbook Y is password protected and locked for viewing. In workbook Y on
ThisWorkbook there is a Public Property that creates a new instances of a
class define in Y and returns it. In X I declare a variable of the top level
Class in Y and try to Set my variable to the return value of the Property.
However I get the above error. Is there a way around this?

Do I need to get a digital signature for my code? However, even when I use
the locally generated certificate on my PC, and select that as a trusted
publisher, I still get this error.

Would loading the code as an XLA rather than an XLS make any difference?
Using the XLS provides a handy place to put license information, etc.

I have seen this error crop up when people have been trying to copy macros
out of password protected workbooks, and I can see why Microsoft would want
to prevent that. However, I am trying to run code in a password protected
workbook and I am getting this error. I would have thought that there was no
security risk here, as someone would need to explicitly choose to run my
code, for it to do anything.

I am reluctant to go down the Digitial Certificate route because of the cost
and the need for anyone using this to have to get this installed. I already
distribute an ActiveX version of this code, but the need to get this
installed is a barrier to sales as many IT Depts have locked down desktops
and very rigid and costly installation procedures. The advantage of a macro
is that someone in Finance can use it, without needing to involve IT to
create a standard installation package.

If I do need to go down the digital certificate route, can anyone a
recommend cheaper provider of certificates? Verisign seem to charge several
hundred dollars, and I only make about a $1000 from this a year.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top