View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Gary Brown Gary Brown is offline
external usenet poster
 
Posts: 178
Default Protecting menu in a workbook or sheet

Option Explicit

'/======================================/
Public Sub DisableMenuItem_Example()
'Disable / enable a menu item such as Sort, Data, etc
' - used when you don't want to let a user , for example,
' sort on their own
'05/31/2005
'
Dim objMenuItem As Object
Dim strHide As String, strUnhide As String

'- - - - - - VARIABLES - - - - - - - - -
strHide = "&Hide" 'item #1 to find
strUnhide = "&Unhide" 'item #1 to find
'- - - - - - - - - - - - - - - - - - - -

For Each objMenuItem In CommandBars("ROW").Controls
If objMenuItem.Caption = strHide Or _
objMenuItem.Caption = strUnhide Then
objMenuItem.Enabled = False 'disable a menu item
Exit For
End If
Next objMenuItem

End Sub
'/======================================/
Public Sub EnableMenuItem_Example()
'Disable / enable a menu item such as Sort, Data, etc
' - used when you don't want to let a user , for example,
' sort on their own
'05/31/2005
'
Dim objMenuItem As Object
Dim strHide As String, strUnhide As String

'- - - - - - VARIABLES - - - - - - - - -
strHide = "&Hide" 'item #1 to find
strUnhide = "&Unhide" 'item #1 to find
'- - - - - - - - - - - - - - - - - - - -

For Each objMenuItem In CommandBars("ROW").Controls
If objMenuItem.Caption = strHide Or _
objMenuItem.Caption = strUnhide Then
objMenuItem.Enabled = True 'enable a menu item
Exit For
End If
Next objMenuItem

End Sub
'/======================================/

To disable/enable columns change "ROW" to "COLUMN".

--
HTH,
Gary Brown

If this post was helpful to you, please select ''YES'' at the bottom of the
post.



"Les" wrote:

I have a workbook with 3 sheets in it. After the application runs it hides
a bunch of data on sheet1 and only displays the data on that sheet for a
particular enduser. What I want to disable is the Hide and unhide rows
feature for one. Is there an easy way of doing that and still not have to
worry about what happens initially when the macro runs?? Are there features
witin excel that allows to me shut off parts of the menu??

Hopefully I made myself clear as to what I am trying to acomplish and if not
let me know and I will see if I can phrase it differently.

Thanks in advance,

Les