As Melhores Dicas de VBE (Editor de Código VBA)

quinta-feira, 29 de setembro de 2011 15:49:00 Categories: Programação
Rate this Content 7 Votes

Muitas vezes realizamos algumas ações ou atividades de uma determinada forma, e

 

 

alcançamos um resultado satisfatório através da maneira realizada. Mas como sempre mencionamos aqui, quase sempre é possível melhorar um pouco mais forma como trabalhamos.

 

E essa regra se aplica também à utilização do VBE - Editor do VBA – quando escrevemos Macros no Excel ou Módulos no Access por exemplo.

Assim, vamos conhecer hoje algumas dicas e truques muito interessantes para aqueles que tem interesse nesse ramo de desenvolvimento – e é claro, para nós que utilizamos o VBE praticamente diariamente para escrever/modificar as nossas macros do Hunter.

São dicas muito simples e rápidas. Para quem conhece, pode não parecer muito significante, mas se você ainda não conhece ou utiliza, pode se surpreender com esses verdadeiros segredos que somente os profissionais conhecem.

 

Download

Para baixar os arquivos deste tutorial, clique aqui.

Observação: O Hunter SDK é o conjunto de ferramentas criadas e demonstradas no telecomHall – incluindo as Macros e Códigos. O Hunter SDK somente é enviado para Colaboradores Doadores, como forma de agradecimento pela contribuição realizada e reconhecimento do esforço dedicado. Clique aqui se desejar saber mais.

 

Limitações do VBE

Bom, para começar, o VBE não é um editor dos melhores existentes. Isso pode ser percebido principalmente porque a sua interface é praticamente a mesma de muitos anos atrás – enquanto novas linguagens, como o C#, possuem editores com muito mais recursos.

Mas isso não vem ao caso, pois se você já criou ou vai criar uma macro algum dia, necessariamente já utilizou ou vai utilizar o mesmo.

Se não tem jeito, vamos pelo menos conhecer algumas boas práticas que ajudam a melhorar a nossa experiência com o mesmo.

Nota: Quando nos referirmos a Procedimentos isso engloba ‘Sub’, ‘Function’, ‘Constant’ e ‘Declarations’, tudo bem?

 

Ativando o Editor

Para começar, uma dica bem simples, e que você já deve conhecer: Para alternar entre o VBE e o Programa onde você está escrevendo o Código, simplesmente tecle ‘ALT + F11’.

 

Mas essa talvez você não conheça: para fechar o VBE, tecle ‘ALT + Q’!

 

Está tudo declarado?

Quando você escreve um código, pode incluir algumas linhas logo no começo do mesmo.

Uma delas, e bem interessante, é a opção ‘Option Explicit’. Essa opção força a declaração das variáveis, levando a criação de um código menos suscetível a erros.

Veja o que acontece quando você tenta executar um código que utiliza uma ou mais variáveis não definidas.

 

A recomendação então é sempre incluir ‘Option Explicit’ no início dos seus códigos. É claro que há ocasiões em que você não precisa ‘forçar’ a declaração de variáveis, então, basta omitir essa declaração.

 

Sim, tudo bem, eu sei!

Algumas vezes pode ser que precise copiar e colar alguma parte do código em um novo local. E quando você está ainda editando – não terminou – pode ser que o mesmo fique de forma não esperada, e o VBE ‘sempre’ informa um ‘erro’.

 

Você sabe que está errado, e vai corrigir/finalizar a edição, mas o VBE informa o erro de qualquer forma.

Se você deseja trabalhar sem ser importunado por essa mensagem de erro de compilação, acesse o Menu: Tools (1) -> Options (2). E Desmarque a opção ‘Auto Syntax Check’ (3).

 

Perceba que o VBE continua te informando que algo está errado – destacando os erros em Vermelho – mas você pode terminar de corrigir a linha sem se preocupar em ficar respondendo sempre ‘OK’.

 

Comentar.. comentar de novo, e de novo!

Infelizmente, o VBE não permite que você comente blocos inteiro (várias linhas) de código – do tipo ‘Begin Comment’ e ‘End Comment’.

Para comentar uma linha, você insere um ‘ na frente da mesma. E se for comentar várias linhas, tem que inserir esse mesmo caracter na frente de cada uma delas, linha a linha.

 

Mas – pelo menos – existe uma forma de inserir o caracter em várias linhas ao mesmo tempo (e é claro, retirar de várias linhas ao mesmo tempo se desejar).

Para isso, clique com o botão direito na ‘Barra de Tarefas’ (1), e habilite a Barra ‘Edit’ (2). Você pode fazer isso também acessando o Menu: View -> Toolbars -> Edit.

 

Agora, sempre que você precisar comentar (ou retirar os comentários) basta selecionar as linhas desejadas, e em seguida clicar nos botões correspondentes. Por exemplo abaixo selecionamos as linhas e clicamos no botão ‘Comment Block’.

 

Nota: para retirar comentários, use o botão ao lado direito do botão ‘Comment Block’.

 

Ver sempre tudo, ou apenas o que interessa?

Por padrão, você a área onde você escreve o seu código tem uma característica ‘Full Mode’. Isso significa que o modo de edição permite que você percorra todo o código – todos os Procedimentos – do começo ao fim, usando a barra de rolagem.

Isso é bom, mas em algumas ocasiões, dependendo do tamanho do seu código, e da quantidade de Procedimentos, pode se tornar um pouco cansativo.

Além disso, você pode acabar se confundindo quando rolar a barra, e não saber se está alterando o trecho desejado (pode ser que você tenha rolado demais, e acabou em outro Procedimento).

Para evitar isso, você pode alterar temporariamente entre as opções ‘Full Mode View’ e ‘Procedure View’.

A seguir, temos uma visão ‘Full Mode’ do nosso Módulo de Exemplo, com a opção ‘Full Mode View’ (1). Imagine que estejamos trabalhando apenas no procedimento de exemplo mostrado em Vermelho (2). Precisamos ficar utilizando bastante a barra de rolagem, não?

 

 

Agora, veja como fica temporariamente a nossa área de visão quando alteramos para ‘Procedure View’ (1).

 

É claro que neste exemplo com poucas linhas, a percepção dos ganhos não é tão grande, mas como mencionamos, tudo vai depender do seu código.

Nota: Indepente da View, o código completo permanece inalterado, e voce pode navegar pelos Procedimentos utilizando o atalho no canto superior direito.

 

Navegando pelos Procedimentos e Módulos

E falando em navegar pelos procedimentos e módulos, uma boa maneira de se fazer isso é através dos de atalhos de teclado.

Utilize ‘CTRL + TAB’ para se movimentar entre Módulos.

 

Já para se movimentar entre os Procedimentos em um Módulo, utilize ‘CTRL + PAGE DOWN’ e ‘CTRL + PAGE UP’.

 

Vá... mas Volte!

Às vezes estamos escrevendo uma parte do código, e por algum motivo, precisamos ir para um outro local do mesmo. Mas log em seguida, deveremos voltar ao ponto original de onde saímos.

Uma opção mais ‘tradicional’ é através da utilização de Bookmarks – também disponíveis na barra ‘Edit’.

 

Para navegar entre os Bookmarks (e consequentemente voltar ao local previamente marcado), basta clicar agora no botão ‘Next Bookmark’. Ou clicar com o botão direito no código e escolher essa opção.

 

Entretanto, há uma outra solução mais ‘independente’, na verdade mais um ‘workaround’. Mas é interessante de se conhecer.

A solução alternativa é escrever uma palavra ‘errada’ ou ‘desconhecida’ (por exemplo, deslize os dedos sobre o teclado e tecle algo como ‘asdfg’ ou ‘lkjhg’) no ponto onde você deseja voltar rapidamente depois de coletar as informações desejadas em outro local.

 

Após digitar a palavra no ponto de retorno, desloque-se para onde você desejar, e quando quiser voltar ao ponto original, simplesmente acesse o Menu Debug (1) -> Compile (2).

 

A palavra ‘desconhecida’ vai ser identificada pelo compilador, que vai direto para a mesma, e ainda por cima destacando a mesma (dá até para você colar diretamente uma eventual parte do código que você tenha copiado de outro local - basta clicar ‘OK’).

 

Ficam aí então as duas sugestões, escolha a que mais se adeque à sua forma de programar.

 

Vá direto para um Procedimento! (E depois volte!)

Quando nosso código tem vários procedimentos, e também quando é extenso, fica complicado de se movimentar entre os mesmos.

Explicando melhor, às vezes estamos num local do código que chama um certo procedimento – e precisamos ir para o mesmo. Muita gente ainda rola a Barra de Rolagem, ou faz uma Busca.

Mas existe uma forma muito mais interessante de ir direto para um determinado Procedimento.

Simplesmente clique sobre o procedimento (1), e tecle ‘SHIFT + F2’ (2).

 

Pronto, o Editor vai direto para o Procedimento, mesmo que ele esteja em um outro módulo, como no exemplo abaixo.

E agora, quer voltar exatamente para o local de onde você veio? Tecle ‘CTRL + SHIFT + F2’!

 

Nota: lembre-se que aqui estamos utilizando dados de exemplo, e o outro Procedimento está bem próximo – não havia necessidade dessa busca. Mas como já mencionamos antes, dependo do seu código, essa dica com certeza pode ser usada.

 

Monitore todas as suas Variáveis!

Quando você debug um código utilizando a tecla ‘F8’, o mesmo é executado linha a linha, e você pode ver o valor atual de uma variável qualquer, simplesmente colocando o cursor do mouse sobre ela.

 

Mas você pode verificar o valor atual de uma ou várias variáveis ao mesmo tempo. Para isso, você pode utilizar a função ‘Watch...’.

A maneira tradicional de adicionar uma váriável à janela ‘Watches’ é atavés da janela ‘Add Watch’ (3) – que pode ser acessada por exemplo com um clique com o botão direito do mouse sobre a variável desejada (1), e clicando em ‘Add Watch...’ (2).

 

Por exemplo, a nossa váriavel ‘Z’ agora está sendo monitorada, e quando executarmos o código com a tecla F8, a mesma informará o valor.

 

Mas existe uma forma ainda melhor! Basta arrastar a variável desejada para a Janela ‘Watch’!

 

Pronto, a nossa variável ‘X’ também foi adicionada!

 

Movimente a linha Amarela – Controle a execução!

Você já deve saber utilizar, e também já falamos hoje da execução do código com a tecla F8. Quando pressionamos a mesma em um Procedimento, a linha atual fica na cor Amarela (1), e também surge uma seta também Amarela no seu lado esquerdo (2).

 

Uma dica muito interessante aqui é que você pode movimentar essa linha para qualquer lugar! E o código continua sendo executado daquele ponto em diante. Isso mesmo, você tem total controle sobre essa linha, basta arrastar a seta Amarela!

Como um exemplo, no procedimento abaixo, movimentamos (1) a linha Amarela diretamente para a linha da variável ‘MyName’ (2), e em seguida teclamos F8 para executar a linha.

 

Veja na janela ‘Watches’ (1) que temos o valor da variável ‘MyName’ com o nome “Leo” atribuído no código. Perceba que ‘apenas’ essa variável está com valor – porque nós pulamos as demais linhas!

 

E mais interessante. Você pode arrastar a linha novamente para qualquer lugar. Por exemplo, vamos arrastar de volta para a linha da variável ‘MyName’ (1). Em seguida – com a linha destacada em Amarelo – alteramos o valor do nome, por exemplo de “Leo” para “Leonardo” (2).

Teclando novamente F8 (3), veja o que acontece.

 

Nota: Você pode ‘arrastar’ a seta Amarela também através de atalhos de teclado. Para isso, posicione o cursor na linha desejada (que vai ficar Amarela) e tecle ‘CTRL + F9’.

 

Melhorando o F8

Falando ainda da execução do código com a tecla F8, uma função interessante é a ‘CTRL + F8’. Essa combinação de teclas executa o código até o cursor. Veja o que isso faz.

 

Indentando, Movendo...

Algumas funções de Texto do VBE são as mesmas disponíveis em Editores como o Word, mas que às vezes não utilizamos lá.

Por exemplo, aqui é aconselhável fazer a indentação do código, tornando-o mais fácil de ser lido.

Quando temos apenas uma linha é fácil, basta utilizar a velha e conhecida tecla ‘TAB’. Mas o mais interessante é que isso se aplica também a um conjunto de linhas. Basta selecionar o conjunto de linhas a ser indentado, e pressionar a mesma tecla ‘TAB’.

 

Para deslocar de volta (para a esquerda), as teclas agora são ‘SHIFT + TAB’.

 

Outra dica, assim como nos Editores como o Word, você pode mover (ao invés de Copiar e Colar) trechos selecionados de Texto. Para isso, selecione o texto desejado, e arraste com o Mouse.

 

Use os atalhos de Teclado

Você já deve ter notado que várias dicas destes tutorial podem ser acessadas através dos diversos Menus do Editor. E também que a maioria possui ‘Atalhos de Teclado’.

Fica então a nossa dica final: explore os Menus (e Atalhos) do Editor, e utilize aqueles que mais se adequarem às suas necessidades de Programação.

 

Bom, então é isso. Esperamos que tenham gostado, e que possam aplicar às suas programações, principalmente você que é colaborador – agora pode continuar praticando como os profissionais!

 

Conclusão

Este foi um breve resumo contendo diversas dicas aleatórias de VBE.

Seja você um usuário avançado, ou apenas iniciante ou curioso, o conhecimento dessas dicas pode representar um considerável ganho de tempo, que pode ser gasto em melhorias do seu próprio código.

Em outras palavras, você agora poderá escrever as suas macros praticamente como os melhores profissionais da área fazem!

Esperamos que tenham gostado. Até nosso próximo encontro.