PC Review


Reply
Thread Tools Rate Thread

disable "unprotect sheet" in tools menu bar with VB

 
 
Mary Cullen
Guest
Posts: n/a
 
      29th Jan 2008
In my VB code I want to disable the "unprotect sheet" command in
tools/protection. I am trying to avoid password protecting the sheet
 
Reply With Quote
 
 
 
 
Jim Thomlinson
Guest
Posts: n/a
 
      29th Jan 2008
I am not saying don't do it but it is a whole pile easier to password protect
the sheet than it is to effectively disable the menu item. The problem is not
with disabling the menu item. It is ensuring that you reset it appropriately.
You need to determine when the book opens, is activated, deactivated, or
closed and set the item appropriately. And all of this assumes that macros
are enabled. If they are not then you can not enable/disable the item...

If you still want to do this then you need to look at the events I listed in
ThisWorkbook and add the appropriate code to those events. Also note that the
end user could have placed a protect/unportect button directly onto one of
their toolbars so you will want/need to search through all open toolbars
looking for this button.

I personally would just add a password. Note that if you want to break the
password on a sheet that can be done with very simple code in about 2
minutes...
--
HTH...

Jim Thomlinson


"Mary Cullen" wrote:

> In my VB code I want to disable the "unprotect sheet" command in
> tools/protection. I am trying to avoid password protecting the sheet

 
Reply With Quote
 
Mike H
Guest
Posts: n/a
 
      29th Jan 2008
Seems a bit sledghammer/walnut to me but anyway, try this

Sub Disableit()
With Application.CommandBars("Worksheet Menu Bar")
With .Controls("&Tools")
With .Controls("&Protection")
.Controls("Unprotect Sheet...").Enabled = False
End With
End With
End With
End Sub

Mike

"Mary Cullen" wrote:

> In my VB code I want to disable the "unprotect sheet" command in
> tools/protection. I am trying to avoid password protecting the sheet

 
Reply With Quote
 
Ron de Bruin
Guest
Posts: n/a
 
      29th Jan 2008
Hi Mike

Tip: Never use the name of the controls
If your workbook is used in a non English version your code will blow up

Use the ID of the control
See
http://www.rondebruin.nl/menuid.htm


--

Regards Ron de Bruin
http://www.rondebruin.nl/tips.htm


"Mike H" <(E-Mail Removed)> wrote in message news:62CA3E7C-AFF3-42D4-88DD-(E-Mail Removed)...
> Seems a bit sledghammer/walnut to me but anyway, try this
>
> Sub Disableit()
> With Application.CommandBars("Worksheet Menu Bar")
> With .Controls("&Tools")
> With .Controls("&Protection")
> .Controls("Unprotect Sheet...").Enabled = False
> End With
> End With
> End With
> End Sub
>
> Mike
>
> "Mary Cullen" wrote:
>
>> In my VB code I want to disable the "unprotect sheet" command in
>> tools/protection. I am trying to avoid password protecting the sheet

 
Reply With Quote
 
Mike H
Guest
Posts: n/a
 
      29th Jan 2008
Ron,

Thanks, I've actually read you article and it's an excellent source of
information.
http://www.rondebruin.nl/menuid.htm

I was a bit lazy and did it this way for 2 reasons, Frstly, I could do it in
my head because names are intuative whereas numbers aren't. But more
importantly on your web page the menu numbers are given for Tools|Protection
but not for the next level down i.e. protect/unprotect. Where can I find
these?

Mike

"Ron de Bruin" wrote:

> Hi Mike
>
> Tip: Never use the name of the controls
> If your workbook is used in a non English version your code will blow up
>
> Use the ID of the control
> See
> http://www.rondebruin.nl/menuid.htm
>
>
> --
>
> Regards Ron de Bruin
> http://www.rondebruin.nl/tips.htm
>
>
> "Mike H" <(E-Mail Removed)> wrote in message news:62CA3E7C-AFF3-42D4-88DD-(E-Mail Removed)...
> > Seems a bit sledghammer/walnut to me but anyway, try this
> >
> > Sub Disableit()
> > With Application.CommandBars("Worksheet Menu Bar")
> > With .Controls("&Tools")
> > With .Controls("&Protection")
> > .Controls("Unprotect Sheet...").Enabled = False
> > End With
> > End With
> > End With
> > End Sub
> >
> > Mike
> >
> > "Mary Cullen" wrote:
> >
> >> In my VB code I want to disable the "unprotect sheet" command in
> >> tools/protection. I am trying to avoid password protecting the sheet

>

 
Reply With Quote
 
Ron de Bruin
Guest
Posts: n/a
 
      29th Jan 2008
Hi Mike

Download OLE's add-in, the link is above the screenshots that I make for the lazy people <vbg>
http://www.rondebruin.nl/menuid.htm#Screenshots

Have a nice day

--

Regards Ron de Bruin
http://www.rondebruin.nl/tips.htm


"Mike H" <(E-Mail Removed)> wrote in message news:533D2C8E-761D-4C3E-8342-(E-Mail Removed)...
> Ron,
>
> Thanks, I've actually read you article and it's an excellent source of
> information.
> http://www.rondebruin.nl/menuid.htm
>
> I was a bit lazy and did it this way for 2 reasons, Frstly, I could do it in
> my head because names are intuative whereas numbers aren't. But more
> importantly on your web page the menu numbers are given for Tools|Protection
> but not for the next level down i.e. protect/unprotect. Where can I find
> these?
>
> Mike
>
> "Ron de Bruin" wrote:
>
>> Hi Mike
>>
>> Tip: Never use the name of the controls
>> If your workbook is used in a non English version your code will blow up
>>
>> Use the ID of the control
>> See
>> http://www.rondebruin.nl/menuid.htm
>>
>>
>> --
>>
>> Regards Ron de Bruin
>> http://www.rondebruin.nl/tips.htm
>>
>>
>> "Mike H" <(E-Mail Removed)> wrote in message news:62CA3E7C-AFF3-42D4-88DD-(E-Mail Removed)...
>> > Seems a bit sledghammer/walnut to me but anyway, try this
>> >
>> > Sub Disableit()
>> > With Application.CommandBars("Worksheet Menu Bar")
>> > With .Controls("&Tools")
>> > With .Controls("&Protection")
>> > .Controls("Unprotect Sheet...").Enabled = False
>> > End With
>> > End With
>> > End With
>> > End Sub
>> >
>> > Mike
>> >
>> > "Mary Cullen" wrote:
>> >
>> >> In my VB code I want to disable the "unprotect sheet" command in
>> >> tools/protection. I am trying to avoid password protecting the sheet

>>

 
Reply With Quote
 
Mary Cullen
Guest
Posts: n/a
 
      29th Jan 2008
Mike, I tried it and it disabled "Protection" which is fine as I don't really
need the next level but when I run it again with Enabled=True it's still
disabled.

Mary

"Mike H" wrote:

> Seems a bit sledghammer/walnut to me but anyway, try this
>
> Sub Disableit()
> With Application.CommandBars("Worksheet Menu Bar")
> With .Controls("&Tools")
> With .Controls("&Protection")
> .Controls("Unprotect Sheet...").Enabled = False
> End With
> End With
> End With
> End Sub
>
> Mike
>
> "Mary Cullen" wrote:
>
> > In my VB code I want to disable the "unprotect sheet" command in
> > tools/protection. I am trying to avoid password protecting the sheet

 
Reply With Quote
 
Mike H
Guest
Posts: n/a
 
      29th Jan 2008
Mary,

You shouldn't need to go to these lengths, switching should be as simple as
changing TRUE ot FALSE and I don't understand why it didn't work. However
here's a routing to toggle it to the opposite state it is currently in. I
suggest you have a look at Ron De Bruins webpage noted in your other reponse
where he points out a pitfall in the solution I've given.

Sub Disableit()
With Application.CommandBars("Worksheet Menu Bar")
With .Controls("&Tools")
With .Controls("&Protection")
If .Controls("Unprotect Sheet...").Enabled = True Then
.Controls("Unprotect Sheet...").Enabled = False
Else
.Controls("Unprotect Sheet...").Enabled = True
End If
End With
End With
End With
End Sub

Mike

"Mary Cullen" wrote:

> In my VB code I want to disable the "unprotect sheet" command in
> tools/protection. I am trying to avoid password protecting the sheet

 
Reply With Quote
 
Mary Cullen
Guest
Posts: n/a
 
      29th Jan 2008
Thanks Mike, in the interim I tried the following code and it seems to work
fine. The responses I've gotten have helped and I have a better understanding
of how this works and the potential pitfalls. I appreciate the help.

Mary

"Mike H" wrote:

> Mary,
>
> You shouldn't need to go to these lengths, switching should be as simple as
> changing TRUE ot FALSE and I don't understand why it didn't work. However
> here's a routing to toggle it to the opposite state it is currently in. I
> suggest you have a look at Ron De Bruins webpage noted in your other reponse
> where he points out a pitfall in the solution I've given.
>
> Sub Disableit()
> With Application.CommandBars("Worksheet Menu Bar")
> With .Controls("&Tools")
> With .Controls("&Protection")
> If .Controls("Unprotect Sheet...").Enabled = True Then
> .Controls("Unprotect Sheet...").Enabled = False
> Else
> .Controls("Unprotect Sheet...").Enabled = True
> End If
> End With
> End With
> End With
> End Sub
>
> Mike
>
> "Mary Cullen" wrote:
>
> > In my VB code I want to disable the "unprotect sheet" command in
> > tools/protection. I am trying to avoid password protecting the sheet

 
Reply With Quote
 
Mary Cullen
Guest
Posts: n/a
 
      29th Jan 2008
Ron, great information from your menuid link, 2 questions though

1) will the ID of the control work if a user does have "Always show full
menus" checked
2) do you know if will this work in Excel 2007

Thanks, Mary



"Ron de Bruin" wrote:

> Hi Mike
>
> Tip: Never use the name of the controls
> If your workbook is used in a non English version your code will blow up
>
> Use the ID of the control
> See
> http://www.rondebruin.nl/menuid.htm
>
>
> --
>
> Regards Ron de Bruin
> http://www.rondebruin.nl/tips.htm
>
>
> "Mike H" <(E-Mail Removed)> wrote in message news:62CA3E7C-AFF3-42D4-88DD-(E-Mail Removed)...
> > Seems a bit sledghammer/walnut to me but anyway, try this
> >
> > Sub Disableit()
> > With Application.CommandBars("Worksheet Menu Bar")
> > With .Controls("&Tools")
> > With .Controls("&Protection")
> > .Controls("Unprotect Sheet...").Enabled = False
> > End With
> > End With
> > End With
> > End Sub
> >
> > Mike
> >
> > "Mary Cullen" wrote:
> >
> >> In my VB code I want to disable the "unprotect sheet" command in
> >> tools/protection. I am trying to avoid password protecting the sheet

>

 
Reply With Quote
 
 
 
Reply

Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Stop users from accessing "Protection" option from "Tools" menu =?Utf-8?B?SSBCZWxpZXZl?= Microsoft Excel Programming 2 19th Dec 2005 02:44 PM
Disable "Recover Deleted Items" Option from the Tools menu in Outlook XP via a GPO Mr Paul Microsoft Outlook Form Programming 1 20th Jul 2005 11:25 AM
Disable "Sheet tabs" check box under [Tools][Options]-[View] tab =?Utf-8?B?cXVhcnR6?= Microsoft Excel Programming 4 2nd Apr 2005 03:25 AM
How to restrict / disable "File", "Edit" and "View"-Menu?? =?Utf-8?B?bWFya3VzMzU0?= Windows XP Internet Explorer 2 4th Jun 2004 09:31 AM
Outlook mail service setting - "Services" not on "Tools" menu amiller Microsoft Outlook Discussion 2 18th Oct 2003 01:53 PM


Features
 

Advertising
 

Newsgroups
 


All times are GMT +1. The time now is 08:15 PM.