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 » |
| Criando menus, barras de comando e botões personalizados no Access usando VBA Autor: Robert Friedrick Martim |
|||||||
|---|---|---|---|---|---|---|---|
| Lição 002 - Como menus e barras de comando são criadas no Access | |||||||
Antes de continuar com o primeiro código, você precisa instalar as referências aos objetos do Office. No VBE, vá até Ferramentas à Referências à Microsoft Office x.x Object Library (onde “x.x” representa a versão de seu Office). Os arquivos fornecidos foram criados no Office 2003. Se eles não funcionarem com o seu Office, vá até as referências, remova a referência que estará ausente para o Office 2003 e instale aquela referente ao seu Office. Menus e barras de comando são objetos e como tais possuem métodos e propriedades. Para se criar este tipo de objeto nós precisamos colocar o código em um módulo. Para inserir um módulo de programação precisamos estar na área de edição de código conhecida como VBE (Visual Basic Editor). Para acessar esta área pressione Alt+F11. Quando o VBE for aberto clique em Inserir à Módulo para inserir um módulo VBA. No módulo, precisamos definir a sub-rotina que conterá o código que criará nossos menus. A figura abaixo mostra a abertura e fechamento de uma sub-rotina:
Qualquer coisa escrita em visual basic entre Sub-End Sub será executada pelo programa. Como foi dito, menus e barras de comando são objetos. Quando criamos nossos códigos é boa prática definir a dimensão (Dim) destes objetos ou variáveis. Por exemplo:
Quando criamos estes objetos, precisamos dar um set (instanciar) para que o programa reconheça o tipo de objeto. Por exemplo, se pergunte: o que é Object? Object apenas não diz nada sobre o que o objeto é ou faz. O exemplo abaixo mostra como instruir o programa a reconhecer o objeto:
Neste exemplo, estamos instruindo o VBA a acrescentar um objeto chamado cmdBar à coleção de barras de comando do aplicativo. O nome desta nova barra de comando é “Criando Menus”. Ao rodarmos o código acima, podemos verificar que o objeto é realmente adicionado à coleção de barras de comando indo até Ferramentas à Personalizar. A figura abaixo mostra esta nova barra na coleção:
Para que esta barra de comando fique visível, precisamos selecioná-las na caixa de barras de comando. Uma alternativa é incluir no código uma linha que faça isso:
Ao executarmos o código, a barra é apresentada na tela:
Porém, como vimos anteriormente, a barra de comando pode estar em qualquer posição em nossa área de trabalho. O VBA nos permite posicionar a barra nas “cinco” cantos da área de trabalho. Estas posições são:
Para posicionar a nossa barra de comando utilizamos Position:=nomeDaPosiçãop (conforme a lista anterior). O código revisto fica:
A barra de comando é o objeto que recebe os menus (msoControlPopUp) e botões (como os botões que possuem ícones de salvar, abrir, etc.) O objeto mnu criado anteriormente não diz nada sobre o objeto e precisamos defini-lo como fizemos com o cmdBar. A lógica de inserção é a mesma que a anterior, isto é, como inserimos a barra de comando a coleção de barras de comando do Access, agora, vamos adicionar um menu a esta barra de comando:
Com isso criamos nossa barra de comando contendo um menu:
O bloco With-End With nos permite definir as propriedades e métodos do objeto mnu sem precisar repetir o seu nome (mnu) para cada propriedade ou método que definimos. Por analogia, podemos criar outros menus, precisando apenas defini-los no código. Para cada mnu que entrará no código. Por exemplo:
Porém, o controle msoControlPopUp apenas abre o popup. Ele é incapaz de executar instruções. Para se executar instruções precisamos adicionar o controle msoControlButton. Este controle pode ser inserido na barra ao no menu.
Ao executarmos o código obtemos o seguinte resultado:
Observe que não é preciso definir um objeto para o botão. Podemos utilizar o objeto mnu para fazer isso (poderíamos até usar o cmdBar). Os leitores acostumados com VBA devem ter notado que ao inserir o ponto (.) após o nome do objeto a caixa contendo a lista de propriedades e métodos não é exibida. Mas quando tentamos forçar a exibição da caixa o VBE não aceita. Este tipo de problema diz respeito ao objeto em si. Lembra quando perguntamos que objeto era esse? Pois bem, quando definimos a dimensão do objeto como sendo Object ele pode ser qualquer coisa. Em outras palavras, a caixa de propriedades e métodos não fica disponível porque o VBA não reconhece o objeto. A solução para o nosso problema é bem simples: basta dimensionar o objeto corretamente. Quando criamos nossa barra de comando, nós utilizamos os seguintes objetos:
Embora tenhamos utilizados estes objetos, nós não os dimensionamos explicitamente como sendo tais objetos. Quando dimensionamos o objeto é importante dimensioná-lo com a classe correta. Embora isso não afete o resultado, ele certamente afeta o nosso desempenho e a nossa produtividade. Nos exemplos anteriores fica difícil saber qual propriedade ou método a ser utilizado. A menos que você os conheça o seu trabalho será muito menos produtivo. Embora seja possível, esta prática não é aconselhável. Mais adiante veremos o porquê. |
|||||||
| « Anterior | Δ Página principal | ¤ Índice | Próxima » |
Universidade do Access - Curso Completo de Access
com tudo para você dominar o Access - do Básico ao
Avançado - até a Criação de Sistemas Profissionais
Completos - Passo a Passo - Tela a Tela
Aplica-se ao Access 2019, 2016, 2013 e 2010!
Para todos os detalhes, acesse:
|
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-2026 ®
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