View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Jim Thomlinson Jim Thomlinson is offline
external usenet poster
 
Posts: 5,939
Default remove module via code

From Chip Pearson's web site...

The VBA Project that you are going to change with these procedures must be
unlocked. There is no programmatic way to unlock a VBA project (other than
using SendKeys). If the project is locked, you must manually unlock.
Otherwise, the procedures will not work.

http://www.cpearson.com/excel/vbe.aspx

Note that using send keys is a VERY hit and miss method of executing code.
--
HTH...

Jim Thomlinson


"mikeallen77" wrote:

I have 2 vba modules that are both within a protected project. I wish
to remove one module via code from the other module. I have this in
"module1":

ThisWorkbook.VBProject.vbcomponents.Remove
ThisWorkbook.VBProject.vbcomponents("module2")

It works fine IF I have the project unprotected, but the problem
arises when the project is protected. I get:

Run-time error '50289': Can't perform operation since the project is
protected.

Someone suggested once to go to Tools--Macros--Security--Trusted
Publishers--Trust access to Visual Basic project (click box). I have
this done, but still does not work when protected. I must have
project protected because others will be using this file and I do not
want them to have access to the sensitive code in 'module2'. The
users will need 'module2' initially to run program, then they will be
converting the program into an output-only file w/ no 'module2'.

Thanks