Macros and Password Protection

D

Dana M

Using info obtained from other postings in this chat, I am attempting to add
a password to my sheet protection. I have macros that add and delete rows in
the worksheet. I have 'Unprotect' code at the beginning of the macros and
'Protect" at the end, which I modified slightly in this way:

ActiveSheet.Unprotect Password:="mypassword"
Application.EnableEvents = False

Application.EnableEvents = True
ActiveSheet.Protect Password:="mypassword" DrawingObjects:=True,
Contents:=True, Scenarios:=True _
, AllowFormattingColumns:=True

I haven't even gotten to the point of trying to step through the macro, but
the 'unprotect' statement (is that what you call that bit of code,
statement?)
remained in black text, but the 'protect' statement immediately turned red
with an error message, "Compile error - expected end of statement" right
around the DrawingObjects:=True part.

This all worked correctly before adding the password, and before adding the
Password:="mypassword" to the code.
 
M

Mike H

Hi,

try this

ActiveSheet.Unprotect Password:="mypassword"
Application.EnableEvents = False

'Do lots of things

Application.EnableEvents = True
ActiveSheet.Protect DrawingObjects:=True, _
Contents:=True, Scenarios:=True, Password:="mypassword"


Mike
 
J

Jim Thomlinson

You can not add a line break in VBA without adding a line break character
which is the underscore. I Like to line up my parameters for easy reading so
I do it something like this. You have one but you have 2 line breaks. That
might just be how you post got formatted though. Other than that you need a
coma between each parameter and you are missing one after password...

ActiveSheet.Unprotect Password:="mypassword"
Application.EnableEvents = False

Application.EnableEvents = True
ActiveSheet.Protect Password:="mypassword", _
DrawingObjects:=True, _
Contents:=True, Scenarios:=True, _
AllowFormattingColumns:=True
 
G

Gord Dibben

Code you pasted is missing a comma after "mypassword" and a
line-continuation mark.

Try this................

ActiveSheet.Protect Password:="mypassword", DrawingObjects:=True, _
Contents:=True, Scenarios:=True _
, AllowFormattingColumns:=True

Why have you disabled events then reenabled immediately or is there some
code left out?


Gord Dibben MS Excel MVP
 
D

Dana M

Thanks, Gord! Yes, there is missing code inbetween, however, the events is a
worksheet event that runs separate from my macros - I learned about that
through these posts also - it was causing a bug in the macro - I played
around with the code and added the disable at the beginning of my macro and
enable at the end.
 

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