bollywood actresses hair loss hair rehab london contact number cheap hair extensions brazilian curly hair with closure hair extension fails human hair wigs black ponytail hairstyles 2018 sunny hair extensions uk hair extensions remy hair extensions weft koko one piece hair extensions clip hair
Separador de Menu nos menus de atalhos

... Assinatura do site por 1 ano + Kit MontaRibbons + 3 Livros em PDF + Diversas Revistas (pdf) de brinde, por apenas R$100,00
(
podendo parcelar em até 10 vezes no cartão de crédito)...

Clique aqui e obtenha mais detalhes do nosso kit completo e de como comprar.


Separador de Menu nos Menus de Atalhos

Antes de iniciar a sua leitura, clique aqui e cadastre-se para receber comunicados sobre novos artigos.

Usuário Marcelo:

Boa noite,

no link: usandoaccess.com.br/tutoriais/criar-menus-de-atalho-com-vba-ou-macro

Há funções para criar os menus de atalho.

Gostaria de saber como inserir um separador para melhor organizar os menus.

Desde já, grato.

Suporte:

Marcelo, usando macro é bem fácil, mas pelo VBA não encontrei ainda o comando para implementar o separador.

Veja se este exemplo atende, implementando uma linha tracejada. Acrescente a parte em vermelho no código e teste.

Public Function fncCriarMenuRelatorio()
Dim cb As CommandBar
Dim A As String
On Error Resume Next
A = "AtalhoRelatorio" 'nome do atalho
If Application.CommandBars(A).enabled Then Application.CommandBars(A).Delete
Set cb = fncAddMenu(A, True)
Call fncAddBotao(cb, 4, "&Imprimir", "=fncImprimir()") 'botão Imprimir
Call fncAddBotao(cb, 201, "&PDF", "=fncGerarPDF()") 'botão Gerar PDF
Call fncAddBotao(cb, 0, "---------------------", "")
Call fncAddBotao(cb, 0, "&Zoom 50", "=fncZoom(50)") 'Botão Zoom 50
Call fncAddBotao(cb, 247, "&Configurar Página", "=fncConfigurarPagina()")
Set cb = Nothing
End Function


 

Usuário Marcelo:

Opa, grato pela sugestão!

Antes de implementara sua dica, busquei descobrir como implementar o separador nativo do CommandBar.

Daí, depois de muito pesquisar, consegui.  E fiz uma pequena alteração na sua função de adicionar botão ao menu.

Veja como ficou:

Public Function fncAddBotao(menu As CommandBar, faceid As Long, caption As String, _
onaction As String, Optional id As Integer = 1, _ 
Optional Separador As Boolean) As CommandBarButton

    Dim cbb As CommandBarButton
    Set cbb = menu.Controls.Add(msoControlButton, id, , , True)

    With cbb
        .caption = caption
        .onaction = onaction
        .Style = msoButtonAutomatic
        .faceid = faceid
        .BeginGroup = Separador
    End With

End Function

Daí, para exibir o separador, basta setar o parâmetro Separador para True.

Por exemplo, considere o menu:

Clientes
Cidades
Produtos
Categoria de produtos

Digamos que eu queira que haja um separador entre Cidades e Produtos.

Para isso, basta eu setar para true o parâmetro Separador do botão Produtos.

Isso faz com que o VBA entenda que há um novo grupo de botões a partir do botão produtos.

Grato mais uma vez, Avelino!!

Suporte:

Marcelo, muito obrigado pelo feedback !

Estarei atualizando o projeto.

 


 

 


Não há comentário

Envie seu comentário: