How to pimp my custom menu (want to display FaceIds and shortcuts combo)?

S

s80NL

I've got the following code for a custom menu and it's working fine BU
how can I add FaceIds to the menu items? Is it also possible to sho
the custom shortcuts like they are showed in the default menu's (e.g
Ctrl+S for _S_ave in menu _F_ile?



PHP code
-------------------
'
' Macro found @ www.romanpress.com/Articles/Menus_R/Menus.htm
' Made some minor adjustments only
'
Private Sub AddMenu()
Dim cbpop As CommandBarControl
Dim cbctl As CommandBarControl
Dim cbsub As CommandBarControl
Dim cbpos As Integer

On Error Resume Next
Application.CommandBars("Worksheet Menu Bar").Controls("Custom Menu").Delete
On Error GoTo 0

' Create a popup control on the main menu bar
cbpos = Application.CommandBars("Worksheet Menu Bar").Controls("Help").Index

Set cbpop = Application.CommandBars("Worksheet Menu Bar"). _
Controls.Add(Type:=msoControlPopup, Before:=cbpos)
cbpop.Caption = mname
cbpop.Visible = True

' Add menu item
Set cbctl = cbpop.Controls.Add(Type:=msoControlButton)
cbctl.Visible = True
cbctl.Style = msoButtonCaption
cbctl.Caption = "&Update rapport"
cbctl.OnAction = "UpdateRapport"

' Add menu item
Set cbctl = cbpop.Controls.Add(Type:=msoControlButton)
cbctl.Visible = True
cbctl.Style = msoButtonCaption
cbctl.Caption = "&Print all sheets"
cbctl.OnAction = "PrintAllSheets"

' Add a popup for a submenu
Set cbsub = cbpop.Controls.Add(Type:=msoControlPopup)
cbsub.Visible = True
cbsub.Caption = "Rapport op&slaan als..."
' Add submenu item
Set cbctl = cbsub.Controls.Add(Type:=msoControlButton)
cbctl.Visible = True
cbctl.Style = msoButtonCaption
cbctl.Caption = "Save As (Preformatted)"
cbctl.OnAction = "SaveAs"
' Add submenu item
Set cbctl = cbsub.Controls.Add(Type:=msoControlButton)
cbctl.Visible = True
cbctl.Style = msoButtonCaption
cbctl.Caption = "Save Copy As (Preformatted)"
cbctl.OnAction = "SaveCopyAs"
End Su
-------------------
 
V

VBA Noob

Hi Again,

If you add a macro button. Then Change it's name. Put a "&" before th
letter you want underlined.

VBA Noo
 
N

Norman Jones

Hi s80NL,

Try changing your first control code to something like:

' Add menu item
Set cbctl = cbpop.Controls.Add(Type:=msoControlButton)
With cbctl
.Visible = True
.Style = msoButtonIconAndCaption
.Caption = "&Update rapport Shift-Ctrl+P"
.OnAction = "UpdateRapport"
.FaceId = 2817
End With
 
D

Dave Peterson

How about...

Set cbctl = cbpop.Controls.Add(Type:=msoControlButton)
With cbctl
.Visible = True
.Style = msoButtonIconAndCaption
.Caption = "&Update rapport"
.ShortcutText = "Ctrl-M"
.OnAction = "UpdateRapport"
.FaceId = 2817
End With

Application.MacroOptions Macro:="UpdateRapport", _
HasShortcutKey:=True, ShortcutKey:="M"
 

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

Top