ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Automaticall disable Protection menu (https://www.excelbanter.com/excel-programming/372694-automaticall-disable-protection-menu.html)

dunny_budgie[_2_]

Automaticall disable Protection menu
 
Hi,

hopefully this is a simple query. I have built a large excel model, which
is password protected. The model can be unlocked using a macro (which
requires the inputting of the password).

I want to prevent the user from unlocking individual sheets through the
Tools-Protection menu, i.e. they can only unlock the model by running the
macro. I know i can disable the Protection menu by using a macro, but what i
want is for the Protection menu to be available to the user at all times,
except when my model is the active workbook. is there a way to
automatatically disable the Protection menu when my model worksheet is
activated, then automatically turn it back on when another worksheet is
activated?

Any help is appreciated!

Martin

Allllen

Automaticall disable Protection menu
 
Hi dunny_budgie

You should start off having the sheets protected with a password (eg "fish",
why not?)

Your macro will ask for a password from the users.
If they get it wrong, the code will end (exit sub) and nothing changes.

If they get it right, then you will use this code to unprotect the sheets:

sheets("sheet1").unprotect password:="fish"

This way they can either use your macro to unprotect the sheets, or they can
unprotect them manually but they would have to know the password "fish".

That should move things along for you I hope :-)

--
Allllen


"dunny_budgie" wrote:

Hi,

hopefully this is a simple query. I have built a large excel model, which
is password protected. The model can be unlocked using a macro (which
requires the inputting of the password).

I want to prevent the user from unlocking individual sheets through the
Tools-Protection menu, i.e. they can only unlock the model by running the
macro. I know i can disable the Protection menu by using a macro, but what i
want is for the Protection menu to be available to the user at all times,
except when my model is the active workbook. is there a way to
automatatically disable the Protection menu when my model worksheet is
activated, then automatically turn it back on when another worksheet is
activated?

Any help is appreciated!

Martin


Allllen

Automaticall disable Protection menu
 
On second thoughts maybe it is more complicated than that.

Whatever code you have thought up to disable the protection menu, how about
putting in inside the worksheet activation event procedure for this sheet:

Private Sub Worksheet_Activate()
'<-----here
End Sub

You would then need a deactivation procedure as well which would run just
before you activated any other sheet.

Private Sub Worksheet_Deactivate()
'<-----here
End Sub

HTH
--
Allllen


"dunny_budgie" wrote:

Hi,

hopefully this is a simple query. I have built a large excel model, which
is password protected. The model can be unlocked using a macro (which
requires the inputting of the password).

I want to prevent the user from unlocking individual sheets through the
Tools-Protection menu, i.e. they can only unlock the model by running the
macro. I know i can disable the Protection menu by using a macro, but what i
want is for the Protection menu to be available to the user at all times,
except when my model is the active workbook. is there a way to
automatatically disable the Protection menu when my model worksheet is
activated, then automatically turn it back on when another worksheet is
activated?

Any help is appreciated!

Martin


Halim

Automaticall disable Protection menu
 

--

Regards,

Halim


"dunny_budgie" wrote:

Hi,

hopefully this is a simple query. I have built a large excel model, which
is password protected. The model can be unlocked using a macro (which
requires the inputting of the password).

I want to prevent the user from unlocking individual sheets through the
Tools-Protection menu, i.e. they can only unlock the model by running the
macro. I know i can disable the Protection menu by using a macro, but what i
want is for the Protection menu to be available to the user at all times,
except when my model is the active workbook. is there a way to
automatatically disable the Protection menu when my model worksheet is
activated, then automatically turn it back on when another worksheet is
activated?

Any help is appreciated!

Martin


Robert Bruce[_2_]

Automaticall disable Protection menu
 
Roedd <<dunny_budgie wedi ysgrifennu:

Hi,

hopefully this is a simple query. I have built a large excel model,
which is password protected. The model can be unlocked using a macro
(which requires the inputting of the password).


Use a different password in your code to unprotect the sheets to the one
that you expect the users to input.

Rob



Bob Phillips

Automaticall disable Protection menu
 
If you must use code, maybe


Private Sub Workbook_Activate()
Application.CommandBars("Tools").Controls("Protect ion").Enabled = False
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CommandBars("Tools").Controls("Protect ion").Enabled = True
End Sub

Private Sub Workbook_Deactivate()
Application.CommandBars("Tools").Controls("Protect ion").Enabled = True
End Sub

Private Sub Workbook_Open()
Application.CommandBars("Tools").Controls("Protect ion").Enabled = False
End Sub

'This is workbook event code.
'To input this code, right click on the Excel icon on the worksheet
'(or next to the File menu if you maximise your workbooks),
'select View Code from the menu, and paste the code



--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)

"dunny_budgie" wrote in message
...
Hi,

hopefully this is a simple query. I have built a large excel model, which
is password protected. The model can be unlocked using a macro (which
requires the inputting of the password).

I want to prevent the user from unlocking individual sheets through the
Tools-Protection menu, i.e. they can only unlock the model by running the
macro. I know i can disable the Protection menu by using a macro, but

what i
want is for the Protection menu to be available to the user at all times,
except when my model is the active workbook. is there a way to
automatatically disable the Protection menu when my model worksheet is
activated, then automatically turn it back on when another worksheet is
activated?

Any help is appreciated!

Martin




dunny_budgie[_2_]

Automatically disable Protection menu
 
Thanks Bob, that was exactly what i was after.

martin



"Bob Phillips" wrote:

If you must use code, maybe


Private Sub Workbook_Activate()
Application.CommandBars("Tools").Controls("Protect ion").Enabled = False
End Sub

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CommandBars("Tools").Controls("Protect ion").Enabled = True
End Sub

Private Sub Workbook_Deactivate()
Application.CommandBars("Tools").Controls("Protect ion").Enabled = True
End Sub

Private Sub Workbook_Open()
Application.CommandBars("Tools").Controls("Protect ion").Enabled = False
End Sub

'This is workbook event code.
'To input this code, right click on the Excel icon on the worksheet
'(or next to the File menu if you maximise your workbooks),
'select View Code from the menu, and paste the code



--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)

"dunny_budgie" wrote in message
...
Hi,

hopefully this is a simple query. I have built a large excel model, which
is password protected. The model can be unlocked using a macro (which
requires the inputting of the password).

I want to prevent the user from unlocking individual sheets through the
Tools-Protection menu, i.e. they can only unlock the model by running the
macro. I know i can disable the Protection menu by using a macro, but

what i
want is for the Protection menu to be available to the user at all times,
except when my model is the active workbook. is there a way to
automatatically disable the Protection menu when my model worksheet is
activated, then automatically turn it back on when another worksheet is
activated?

Any help is appreciated!

Martin





Halim

Automaticall disable Protection menu
 
Hi,

Sorry for missing my past post ...
Code to unable or dissable protection menu like :
Function DisablProt(Enabled As Boolean)
'Disabling ToolsProtection.. commandbar :
Application.CommandBars.Item("tools"). _
FindControl(ID:=30029).Enabled = Enabled
End Function

Sub CallDisablProt()
DisablProt False
'change to true if enabling
End Sub

Thks
--

Regards,

Halim


"Halim" wrote:


--

Regards,

Halim


"dunny_budgie" wrote:

Hi,

hopefully this is a simple query. I have built a large excel model, which
is password protected. The model can be unlocked using a macro (which
requires the inputting of the password).

I want to prevent the user from unlocking individual sheets through the
Tools-Protection menu, i.e. they can only unlock the model by running the
macro. I know i can disable the Protection menu by using a macro, but what i
want is for the Protection menu to be available to the user at all times,
except when my model is the active workbook. is there a way to
automatatically disable the Protection menu when my model worksheet is
activated, then automatically turn it back on when another worksheet is
activated?

Any help is appreciated!

Martin



All times are GMT +1. The time now is 06:42 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com