Arquivo | Editar | Exibir | Inserir | Formatar | Ferramentas | ... | Meu Menu
Alguém sabe como posso fazer isso, criar um novo grupo ou executa-lo como
Menu Popup eu já consegui, mas inseri-lo no grupo do acima não.
Obrigado!
Private Sub Workbook_Activate()
Run "AddMenus"
End Sub
Private Sub Workbook_Deactivate()
Run "DeleteMenu"
End Sub
Em um módulo, crie as funções:
Sub AddMenus()
Dim cMenu1 As CommandBarControl
Dim cbMainMenuBar As CommandBar
Dim iHelpMenu As Integer
Dim cbcCutomMenu As CommandBarControl
'exclui se o menu já existir. Ressume Next caso o menu não exista
On Error Resume Next
Application.CommandBars("Menu Bar").Controls("&Menu Novo").Delete
On Error GoTo 0
Set cbMainMenuBar = _
Application.CommandBars("Menu Bar")
'Obtem o índice do menu de ajuda para poder posicionar o novo menu antes
dele
iHelpMenu = _
cbMainMenuBar.Controls("Ajuda").Index
'Inclui um controle ao "Menu Bar"
Set cbcCutomMenu = _
cbMainMenuBar.Controls.Add(Type:=msoControlPopup, _
Before:=iHelpMenu)
'Coloca descrição do menu
cbcCutomMenu.Caption = "&Menu Novo"
'No novo controle, inclua um sub controle e dê o nome "Manu 1" para ele.
Ele chamará a "Macro1"
With cbcCutomMenu.Controls.Add(Type:=msoControlButton)
.Caption = "Menu 1"
.OnAction = "Macro1"
End With
'inclua outro sub controle e dê o nome "Manu 2" para ele. Ele chamará a
"Macro2"
and tell it which macro to run (OnAction)
With cbcCutomMenu.Controls.Add(Type:=msoControlButton)
.Caption = "Menu 2"
.OnAction = "Macro2"
End With
'Inclui outro item de menu que terá sub-menus
Set cbcCutomMenu = cbcCutomMenu.Controls.Add(Type:=msoControlPopup)
' Nome do menu
cbcCutomMenu.Caption = "Out&ro Menu"
'Inclui um controle ao sub menu com o nome "&Outro Item" e que terá icone
nesse submenu. Ele chamará a Macro2
With cbcCutomMenu.Controls.Add(Type:=msoControlButton)
.Caption = "&Outro Item"
.FaceId = 420
.OnAction = "Macro2"
End With
End Sub
Sub DeleteMenu()
On Error Resume Next
Application.CommandBars("Menu Bar").Controls("&Menu Novo").Delete
On Error GoTo 0
End Sub
Espero ter ajudado
Rodrigo Ferreira
"Gleidson.Bardini" <Gleidso...@discussions.microsoft.com> escreveu na
mensagem news:139D633E-673A-4660...@microsoft.com...
Quando ele tenta executar essa linha: iHelpMenu =
cbMainMenuBar.Controls("Ajuda").Index
Aparece a seguinte msg:
***************
Erro em tempo de execução '5'
Argumento ou chamada de procedimentos inválida
***************
"Rodrigo Ferreira" escreveu:
Rodrigo Ferreira
"Gleidson.Bardini" <Gleidso...@discussions.microsoft.com> escreveu na
mensagem news:004E7A65-0C5C-4411...@microsoft.com...
"Rodrigo Ferreira" escreveu:
Rodrigo Ferreira
"Gleidson.Bardini" <Gleidso...@discussions.microsoft.com> escreveu na
mensagem news:B207509E-6F4A-470F...@microsoft.com...
"Rodrigo Ferreira" escreveu: