unprotecting my worksheet

G

Guest

Hello everyone,

I have a worksheet which works great except i wish to distribute it and so
want to protect it with a password. so far so easy but the next day when i
want to amend it and redistribute it i need to unprotect it again.

Dim strSharePwd as string

If ActiveSheet.Protect Then
'strSharePwd = InputBox("Enter password To protect")
ActiveSheet.Unprotect Password:=strSharePwd
Else
strSharePwd = InputBox("Enter password To protect")
ActiveSheet.Protect Password:=strSharePwd
End If


Ive got an ActiveXcontrol on the spreadsheet which should ask for the
password to be supplied either to protect or unprotect using the following
code but instead it only wishes to protect. My if statement doesnt seem to
funnel towards unprotecting.

Can anyone help?

With thanks,

Amit
 
G

Guest

Hi Downing,

Try to use this one :

Dim strSharePwd as string
'this "Un&protect Sheet..." is case sensitives ...
If CommandBars("protection"). _
FindControl(ID:=893).Caption = "Un&protect Sheet..." Then
strSharePwd = InputBox("Enter password To protect")
ActiveSheet.Unprotect Password:=strSharePwd
Else
strSharePwd = InputBox("Enter password To protect")
ActiveSheet.Protect Password:=strSharePwd
End If

That will check wether sheet is protect or not by finding out the caption of
commandbars ...
 
N

NickHK

You code currently calls the Method to protect a worksheet (without a
password). It does not have a return value, so your If test evaluates to
false and you always get the "Enter password To protect" branch of code
executed.
It does not test if the WS is protected.

For that you one/more of these Or'd together
ActiveSheet.ProtectContents=True
..ProtectDrawingObjects
..ProtectScenarios

If ActiveSheet.ProtectContents = True Then
'strSharePwd = InputBox("Enter password To protect")
ActiveSheet.Unprotect Password:=strSharePwd
Else
strSharePwd = InputBox("Enter password To protect")
ActiveSheet.Protect Password:=strSharePwd
End If

NickHK
 

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

Similar Threads


Top