+ Reply to Thread
Results 1 to 4 of 4

menu bar keyboard shortcuts intermittent.

Hybrid View

  1. #1
    windsurferLA
    Guest

    menu bar keyboard shortcuts intermittent.

    I create a custom menu using the routine shown at the bottom of this
    message which was generously created by individual unknown to whom I am
    indebted to making my life easier.

    When the macro is run, the menu bar shows across the top of the sheet:

    File with an underline under the F
    Edit with an underline under the E
    .....
    ....
    ....
    Actions List with an underline under the L

    Prior to my machine crashing and reloading of the operating system,
    depressing Alt-L opened the "Actions List" pull down menu. Now I usually
    have to press Alt-L followed by "Enter" to get the same operation. The
    standard menu items, File, Edit, View, Insert ... continue to open
    merely by the appropriate Alt-letter combination.

    Earlier today, for an unknown reason, Alt-L was opening the Action-List
    pull down menu. This evening it again doesn't work.

    WHAT MIGHT BE CHANGING?

    Thanks ... WindsurferLA

    - - - - - - - -

    Sub CreateMenu()
    ' This sub should be executed when the workbook is opened.
    ' NOTE: There is no error handling in this subroutine

    Dim MenuSheet As Worksheet
    Dim MenuObject As CommandBarPopup

    Dim MenuItem As Object
    Dim SubMenuItem As CommandBarButton
    Dim Row As Integer
    Dim MenuLevel, nextlevel, PositionOrMacro, Caption, Divider, FaceId

    ''''''''''''''''''''''''''''''''''''''''''''''''''''
    ' Location for menu data
    Set MenuSheet = ThisWorkbook.Sheets("MenuSheet")
    ''''''''''''''''''''''''''''''''''''''''''''''''''''

    ' Make sure the menus aren't duplicated
    Call DeleteMenu

    ' Initialize the row counter
    Row = 2

    ' Add the menus, menu items and submenu items using
    ' data stored on MenuSheet

    Do Until IsEmpty(MenuSheet.Cells(Row, 1))
    With MenuSheet
    MenuLevel = .Cells(Row, 1)
    Caption = .Cells(Row, 2)
    PositionOrMacro = .Cells(Row, 3)
    Divider = .Cells(Row, 4)
    FaceId = .Cells(Row, 5)
    nextlevel = .Cells(Row + 1, 1)
    End With

    Select Case MenuLevel
    Case 1 ' A Menu
    ' Add the top-level menu to the Worksheet CommandBar
    Set MenuObject = Application.CommandBars(1). _
    Controls.Add(Type:=msoControlPopup, _
    Before:=PositionOrMacro, _
    Temporary:=True)
    MenuObject.Caption = Caption

    Case 2 ' A Menu Item
    If nextlevel = 3 Then
    Set MenuItem =
    MenuObject.Controls.Add(Type:=msoControlPopup)
    Else
    Set MenuItem =
    MenuObject.Controls.Add(Type:=msoControlButton)
    MenuItem.OnAction = PositionOrMacro
    End If
    MenuItem.Caption = Caption
    If FaceId <> "" Then MenuItem.FaceId = FaceId
    If Divider Then MenuItem.BeginGroup = True

    Case 3 ' A SubMenu Item
    Set SubMenuItem =
    MenuItem.Controls.Add(Type:=msoControlButton)
    SubMenuItem.Caption = Caption
    SubMenuItem.OnAction = PositionOrMacro
    If FaceId <> "" Then SubMenuItem.FaceId = FaceId
    If Divider Then SubMenuItem.BeginGroup = True
    End Select
    Row = Row + 1
    Loop
    End Sub

  2. #2
    papou
    Guest

    Re: menu bar keyboard shortcuts intermittent.

    Hello
    I haven't been through all of your code, so this is just a suggestion:
    You are using "reserved" names as variables in your code ie:
    Caption and FaceId (both existing properties in VBA)
    I would recommend you amend these variables names with for example
    "ItCaption" and "ItFaceId"

    HTH
    Cordially
    Pascal

    "windsurferLA" <buczacz@yahoo.com> a écrit dans le message de news:
    bZ6dnQGXnOo2Ug_fRVn-pw@comcast.com...
    >I create a custom menu using the routine shown at the bottom of this
    >message which was generously created by individual unknown to whom I am
    >indebted to making my life easier.
    >
    > When the macro is run, the menu bar shows across the top of the sheet:
    >
    > File with an underline under the F
    > Edit with an underline under the E
    > ....
    > ...
    > ...
    > Actions List with an underline under the L
    >
    > Prior to my machine crashing and reloading of the operating system,
    > depressing Alt-L opened the "Actions List" pull down menu. Now I usually
    > have to press Alt-L followed by "Enter" to get the same operation. The
    > standard menu items, File, Edit, View, Insert ... continue to open merely
    > by the appropriate Alt-letter combination.
    >
    > Earlier today, for an unknown reason, Alt-L was opening the Action-List
    > pull down menu. This evening it again doesn't work.
    >
    > WHAT MIGHT BE CHANGING?
    >
    > Thanks ... WindsurferLA
    >
    > - - - - - - - -
    >
    > Sub CreateMenu()
    > ' This sub should be executed when the workbook is opened.
    > ' NOTE: There is no error handling in this subroutine
    >
    > Dim MenuSheet As Worksheet
    > Dim MenuObject As CommandBarPopup
    >
    > Dim MenuItem As Object
    > Dim SubMenuItem As CommandBarButton
    > Dim Row As Integer
    > Dim MenuLevel, nextlevel, PositionOrMacro, Caption, Divider, FaceId
    >
    > ''''''''''''''''''''''''''''''''''''''''''''''''''''
    > ' Location for menu data
    > Set MenuSheet = ThisWorkbook.Sheets("MenuSheet")
    > ''''''''''''''''''''''''''''''''''''''''''''''''''''
    >
    > ' Make sure the menus aren't duplicated
    > Call DeleteMenu
    >
    > ' Initialize the row counter
    > Row = 2
    >
    > ' Add the menus, menu items and submenu items using
    > ' data stored on MenuSheet
    >
    > Do Until IsEmpty(MenuSheet.Cells(Row, 1))
    > With MenuSheet
    > MenuLevel = .Cells(Row, 1)
    > Caption = .Cells(Row, 2)
    > PositionOrMacro = .Cells(Row, 3)
    > Divider = .Cells(Row, 4)
    > FaceId = .Cells(Row, 5)
    > nextlevel = .Cells(Row + 1, 1)
    > End With
    >
    > Select Case MenuLevel
    > Case 1 ' A Menu
    > ' Add the top-level menu to the Worksheet CommandBar
    > Set MenuObject = Application.CommandBars(1). _
    > Controls.Add(Type:=msoControlPopup, _
    > Before:=PositionOrMacro, _
    > Temporary:=True)
    > MenuObject.Caption = Caption
    >
    > Case 2 ' A Menu Item
    > If nextlevel = 3 Then
    > Set MenuItem =
    > MenuObject.Controls.Add(Type:=msoControlPopup)
    > Else
    > Set MenuItem =
    > MenuObject.Controls.Add(Type:=msoControlButton)
    > MenuItem.OnAction = PositionOrMacro
    > End If
    > MenuItem.Caption = Caption
    > If FaceId <> "" Then MenuItem.FaceId = FaceId
    > If Divider Then MenuItem.BeginGroup = True
    >
    > Case 3 ' A SubMenu Item
    > Set SubMenuItem =
    > MenuItem.Controls.Add(Type:=msoControlButton)
    > SubMenuItem.Caption = Caption
    > SubMenuItem.OnAction = PositionOrMacro
    > If FaceId <> "" Then SubMenuItem.FaceId = FaceId
    > If Divider Then SubMenuItem.BeginGroup = True
    > End Select
    > Row = Row + 1
    > Loop
    > End Sub




  3. #3
    windsurferLA
    Guest

    Re: menu bar keyboard shortcuts intermittent.

    I'm not an expert on Menu generating programs, but I would think that
    you would have to use the "reserved" names. Caption and FaceID are not
    just any variables, they are the representations that go in the menu
    bar. Am I wrong?

    WindsurferLA



    papou wrote:
    > Hello
    > I haven't been through all of your code, so this is just a suggestion:
    > You are using "reserved" names as variables in your code ie:
    > Caption and FaceId (both existing properties in VBA)
    > I would recommend you amend these variables names with for example
    > "ItCaption" and "ItFaceId"
    >
    > HTH
    > Cordially
    > Pascal
    >
    > "windsurferLA" <buczacz@yahoo.com> a écrit dans le message de news:
    > bZ6dnQGXnOo2Ug_fRVn-pw@comcast.com...
    >
    >>I create a custom menu using the routine shown at the bottom of this
    >>message which was generously created by individual unknown to whom I am
    >>indebted to making my life easier.
    >>
    >>When the macro is run, the menu bar shows across the top of the sheet:
    >>
    >>File with an underline under the F
    >>Edit with an underline under the E
    >>....
    >>...
    >>...
    >>Actions List with an underline under the L
    >>
    >>Prior to my machine crashing and reloading of the operating system,
    >>depressing Alt-L opened the "Actions List" pull down menu. Now I usually
    >>have to press Alt-L followed by "Enter" to get the same operation. The
    >>standard menu items, File, Edit, View, Insert ... continue to open merely
    >>by the appropriate Alt-letter combination.
    >>
    >>Earlier today, for an unknown reason, Alt-L was opening the Action-List
    >>pull down menu. This evening it again doesn't work.
    >>
    >>WHAT MIGHT BE CHANGING?
    >>
    >>Thanks ... WindsurferLA
    >>
    >>- - - - - - - -
    >>
    >>Sub CreateMenu()
    >>' This sub should be executed when the workbook is opened.
    >>' NOTE: There is no error handling in this subroutine
    >>
    >> Dim MenuSheet As Worksheet
    >> Dim MenuObject As CommandBarPopup
    >>
    >> Dim MenuItem As Object
    >> Dim SubMenuItem As CommandBarButton
    >> Dim Row As Integer
    >> Dim MenuLevel, nextlevel, PositionOrMacro, Caption, Divider, FaceId
    >>
    >>''''''''''''''''''''''''''''''''''''''''''''''''''''
    >>' Location for menu data
    >> Set MenuSheet = ThisWorkbook.Sheets("MenuSheet")
    >>''''''''''''''''''''''''''''''''''''''''''''''''''''
    >>
    >>' Make sure the menus aren't duplicated
    >> Call DeleteMenu
    >>
    >>' Initialize the row counter
    >> Row = 2
    >>
    >>' Add the menus, menu items and submenu items using
    >>' data stored on MenuSheet
    >>
    >> Do Until IsEmpty(MenuSheet.Cells(Row, 1))
    >> With MenuSheet
    >> MenuLevel = .Cells(Row, 1)
    >> Caption = .Cells(Row, 2)
    >> PositionOrMacro = .Cells(Row, 3)
    >> Divider = .Cells(Row, 4)
    >> FaceId = .Cells(Row, 5)
    >> nextlevel = .Cells(Row + 1, 1)
    >> End With
    >>
    >> Select Case MenuLevel
    >> Case 1 ' A Menu
    >>' Add the top-level menu to the Worksheet CommandBar
    >> Set MenuObject = Application.CommandBars(1). _
    >> Controls.Add(Type:=msoControlPopup, _
    >> Before:=PositionOrMacro, _
    >> Temporary:=True)
    >> MenuObject.Caption = Caption
    >>
    >> Case 2 ' A Menu Item
    >> If nextlevel = 3 Then
    >> Set MenuItem =
    >>MenuObject.Controls.Add(Type:=msoControlPopup)
    >> Else
    >> Set MenuItem =
    >>MenuObject.Controls.Add(Type:=msoControlButton)
    >> MenuItem.OnAction = PositionOrMacro
    >> End If
    >> MenuItem.Caption = Caption
    >> If FaceId <> "" Then MenuItem.FaceId = FaceId
    >> If Divider Then MenuItem.BeginGroup = True
    >>
    >> Case 3 ' A SubMenu Item
    >> Set SubMenuItem =
    >>MenuItem.Controls.Add(Type:=msoControlButton)
    >> SubMenuItem.Caption = Caption
    >> SubMenuItem.OnAction = PositionOrMacro
    >> If FaceId <> "" Then SubMenuItem.FaceId = FaceId
    >> If Divider Then SubMenuItem.BeginGroup = True
    >> End Select
    >> Row = Row + 1
    >> Loop
    >>End Sub

    >
    >
    >


  4. #4
    papou
    Guest

    Re: menu bar keyboard shortcuts intermittent.

    Hi
    > you would have to use the "reserved" names.

    No, you should *always* avoid using reserved names in variables.
    >Caption and FaceID are not just any variables, they are the representations
    >that go in the menu bar.

    I understand your confusion, but still they ARE variables.
    These names (Caption and FaceId) are properties available via VBA.
    When they are both used as properties and variables (see your code snippet
    below) your code may not work properly.

    >>> MenuItem.Caption = Caption
    >>> If FaceId <> "" Then MenuItem.FaceId = FaceId



    HTH
    Cordially
    Pascal


    "windsurferLA" <buczacz@yahoo.com> a écrit dans le message de news:
    Qc2dnfagFLQ48g7fRVn-3w@comcast.com...
    > I'm not an expert on Menu generating programs, but I would think that you
    > would have to use the "reserved" names. Caption and FaceID are not just
    > any variables, they are the representations that go in the menu bar. Am I
    > wrong?
    >
    > WindsurferLA
    >
    >
    >
    > papou wrote:
    >> Hello
    >> I haven't been through all of your code, so this is just a suggestion:
    >> You are using "reserved" names as variables in your code ie:
    >> Caption and FaceId (both existing properties in VBA)
    >> I would recommend you amend these variables names with for example
    >> "ItCaption" and "ItFaceId"
    >>
    >> HTH
    >> Cordially
    >> Pascal
    >>
    >> "windsurferLA" <buczacz@yahoo.com> a écrit dans le message de news:
    >> bZ6dnQGXnOo2Ug_fRVn-pw@comcast.com...
    >>
    >>>I create a custom menu using the routine shown at the bottom of this
    >>>message which was generously created by individual unknown to whom I am
    >>>indebted to making my life easier.
    >>>
    >>>When the macro is run, the menu bar shows across the top of the sheet:
    >>>
    >>>File with an underline under the F
    >>>Edit with an underline under the E
    >>>....
    >>>...
    >>>...
    >>>Actions List with an underline under the L
    >>>
    >>>Prior to my machine crashing and reloading of the operating system,
    >>>depressing Alt-L opened the "Actions List" pull down menu. Now I usually
    >>>have to press Alt-L followed by "Enter" to get the same operation. The
    >>>standard menu items, File, Edit, View, Insert ... continue to open merely
    >>>by the appropriate Alt-letter combination.
    >>>
    >>>Earlier today, for an unknown reason, Alt-L was opening the Action-List
    >>>pull down menu. This evening it again doesn't work.
    >>>
    >>>WHAT MIGHT BE CHANGING?
    >>>
    >>>Thanks ... WindsurferLA
    >>>
    >>>- - - - - - - -
    >>>
    >>>Sub CreateMenu()
    >>>' This sub should be executed when the workbook is opened.
    >>>' NOTE: There is no error handling in this subroutine
    >>>
    >>> Dim MenuSheet As Worksheet
    >>> Dim MenuObject As CommandBarPopup
    >>>
    >>> Dim MenuItem As Object
    >>> Dim SubMenuItem As CommandBarButton
    >>> Dim Row As Integer
    >>> Dim MenuLevel, nextlevel, PositionOrMacro, Caption, Divider, FaceId
    >>>
    >>>''''''''''''''''''''''''''''''''''''''''''''''''''''
    >>>' Location for menu data
    >>> Set MenuSheet = ThisWorkbook.Sheets("MenuSheet")
    >>>''''''''''''''''''''''''''''''''''''''''''''''''''''
    >>>
    >>>' Make sure the menus aren't duplicated
    >>> Call DeleteMenu
    >>>
    >>>' Initialize the row counter
    >>> Row = 2
    >>>
    >>>' Add the menus, menu items and submenu items using
    >>>' data stored on MenuSheet
    >>>
    >>> Do Until IsEmpty(MenuSheet.Cells(Row, 1))
    >>> With MenuSheet
    >>> MenuLevel = .Cells(Row, 1)
    >>> Caption = .Cells(Row, 2)
    >>> PositionOrMacro = .Cells(Row, 3)
    >>> Divider = .Cells(Row, 4)
    >>> FaceId = .Cells(Row, 5)
    >>> nextlevel = .Cells(Row + 1, 1)
    >>> End With
    >>>
    >>> Select Case MenuLevel
    >>> Case 1 ' A Menu
    >>>' Add the top-level menu to the Worksheet CommandBar
    >>> Set MenuObject = Application.CommandBars(1). _
    >>> Controls.Add(Type:=msoControlPopup, _
    >>> Before:=PositionOrMacro, _
    >>> Temporary:=True)
    >>> MenuObject.Caption = Caption
    >>>
    >>> Case 2 ' A Menu Item
    >>> If nextlevel = 3 Then
    >>> Set MenuItem =
    >>> MenuObject.Controls.Add(Type:=msoControlPopup)
    >>> Else
    >>> Set MenuItem =
    >>> MenuObject.Controls.Add(Type:=msoControlButton)
    >>> MenuItem.OnAction = PositionOrMacro
    >>> End If
    >>> MenuItem.Caption = Caption
    >>> If FaceId <> "" Then MenuItem.FaceId = FaceId
    >>> If Divider Then MenuItem.BeginGroup = True
    >>>
    >>> Case 3 ' A SubMenu Item
    >>> Set SubMenuItem =
    >>> MenuItem.Controls.Add(Type:=msoControlButton)
    >>> SubMenuItem.Caption = Caption
    >>> SubMenuItem.OnAction = PositionOrMacro
    >>> If FaceId <> "" Then SubMenuItem.FaceId = FaceId
    >>> If Divider Then SubMenuItem.BeginGroup = True
    >>> End Select
    >>> Row = Row + 1
    >>> Loop
    >>>End Sub

    >>
    >>



+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1