AS EMPRESAS ESTÃO "DESESPERADAS" POR ESTE TIPO DE PROFISSIONAL... - VOCÊ É UM DELES?
MEGA FORMAÇÃO EM INFRAESTRUTURA DE TI - O Conhecimento que Vira Dinheiro - CLIQUE AQUI
| « Anterior | Δ Página principal | ¤ Índice | Próxima » |
| Programando o RibbonX no Excel 2007 Autor: Robert Friedrick Martim |
|||
|---|---|---|---|
| Lição 12 - Ainda trabalhando tudo no VBA? O que será de seu menu? | |||
Vimos até o momento como personalizar a nova interface do Excel. Neste tópico e no próximo quebrarei o gelo um pouco retornando aos antigos menus do Excel os quais não são causas completamente perdidas. Seria realmente horrível, para não dizer “pesadelo”, acordar e descobrir que todo o sistema criado em VBA não funciona na nova versão do Office. Embora exista a compatibilidade, a realidade de nossa barra de ferramenta em relação à nova interface é outra:
Figura 6‑1 Barras antigas de ferramentas adicionadas à guia “Suplementos” Quando adicionamos as barras de comando no estilo antigo, as mesmas são adicionadas em uma nova guia chamada “Suplementos” conforme mostra a figura acima. Teremos uma exceção a tal regra para os popups, como veremos no tópico seguinte a este. Note que embora seja denominada de “Suplementos” o arquivo não necessariamente precisa ser um suplemento. No exemplo acima, o menu é dinâmico e é modificado conforme selecionamos diferentes planilhas. Vejamos como criar tal suplemento. O código abaixo acompanha as explicações: Adicione o código a seguir no VBE da pasta de trabalho: Private Sub Workbook_BeforeClose(Cancel As Boolean) Private Sub Workbook_Open() 'Declara os objetos que serao monitorados 'Rotina para monitar o ativamento de planilha ' Define o objeto wb como sendo a pasta ativa ' Se a pasta ativa nao for a "Tópico 13.xls", entao ' Define o objeto btnDropDown como sendo a combobox na ' Para cada planilha na pasta de trabalho ' Define o item ativa na combobox ' Chama a rotina de mudanca na combobox End Sub Private Sub appXL_WorkbookActivate(ByVal wb As Workbook) Dim btnDropDown As Object Set btnDropDown = CommandBars(CMDBARNOME).FindControl _ ' Se a pasta de trabalho atual for a "Tópico 13.xls" Public Sub setDrop(box As Office.CommandBarComboBox) Private Sub drop_Change(ByVal Ctrl As Office.CommandBarComboBox) Finalmente, adicione um novo módulo (observe que o módulo utiliza a classe e portanto o nome da classe deve coincidir) onde acrescentaremos o código abaixo: Option Explicit 'Dimensiona os objetos contendo os eventos como sendo a classe onde Sub wsMenus() ' Remove a barra de comando caso ela já exista ' Cria a nova barra de comando ' Adiciona o menu dropdown With cmdBar Sub wsMenuDel() Sub selPlanilha() Sub mnuFornecedores() Set cmdBar = CommandBars(CMDBARNOME) Set menu = cmdBar.Controls.Add(Type:=msoControlPopup, BEFORE:=2) End Sub Sub mnuClientes() Set cmdBar = CommandBars(CMDBARNOME) End Sub Sub mnuRemover() Set cmdBar = CommandBars(CMDBARNOME) Sub ajuda() |
|||
| « Anterior | Δ Página principal | ¤ Índice | Próxima » |
|
Quer Aprender VBA no
Excel, Sem Dificuldades, com Exemplos |
||
|
Junto com o livro você Recebe 11 Bônus Incluindo 50 horas de Vídeo Aulas. |
||
|
Mesmo que Você não Saiba Nada de
Programação VBA ou já Tenha Tentado |
||
|
|
MEGA FORMAÇÃO EM INFRAESTRUTURA DE TI (Online, Vitalício, Prático e Atualizado)! |
|
|
NÃO PROCURE VAGAS, SEJA PROCURADO! |
|
Para Todos os Detalhes, Acesse:
https://juliobattisti.com.br/curso-infra-ti.asp
|
Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434
Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208
Todos os direitos reservados, Júlio Battisti 2001-2025 ®
LIVRO: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2016 - CURSO COMPLETO E PRÁTICO
DOMINE A PROGRAMAÇÃO VBA NO EXCEL - 878 PÁGINAS - CLIQUE AQUI