VBA - Cadastro de Clientes com envio de Email no Excel - I


Hoje vou mostrar como podemos automatizar o Microsoft Excel usando a linguagem VBA através da criação de um programa para realizar o cadastro de informações sobre clientes.

A aplicação  irá permitir a navegação pelos dados da planilha, inclusão, alteração, exclusão de dados na planilha Excel usando um formulário de cadastro e também o envio de e-mail aos clientes com atraso no pagamento ou a um cliente específico.

Abaixo vemos a figura da aplicação sendo executada exibindo o formulário de cadastro

É uma aplicação simples que mostra aos iniciantes e interessados automatizar tarefas no Microsoft Excel usando a linguagem VBA. Só isso.

Os recursos usados no projeto deste artigo foram:

Antes de iniciar temos que realizar duas configurações no Microsoft Excel 2007:

Obs: A necessidade de habilitar a execução de macros é que por padrão, o Excel coloca um nível de segurança mais elevado pois códigos maliciosos podem ser executados em scripts através de macros no Excel.

Vamos ativar a guia do desenvolvedor e logo  em seguida habilitar a execução de macros.

Para ativar a guia do desenvolvedor (se ainda não estiver ativa) siga os seguintes passos:

Abra o Excel 2007 e ative o Menu principal de opções clicando no botão superior a esquerda, conforme a figura abaixo;

A seguir clique na guia Opções do Excel para abrir a janela - Opções do Excel;

Nesta janela, selecione o item - Mais Usados - e a seguir marque o item - Mostrar guia Desenvolvedor na Faixa de Opções e clique no botão OK;

No menu do Excel selecione a guia do Desenvolvedor e em seguida clique em Segurança de Macro;

Na janela Central de Confiabilidade selecione a opção - Configurações de Macro - e marque o item para habilitar todas as macros conforme a figura abaixo:

Pronto , feito isso já podemos iniciar o desenvolvimento da aplicação VBA no Excel 2007.

Abra então o Excel 2007 , será aberta uma planilha em branco. Clique então no botão no canto superior a esquerda para abrir o menu principal de opções;

Selecione a opção Salvar como e clique no item : Pasta de Trabalho Habilitada para Macro do Excel;

Em seguida informe o nome do arquivo : CadastroClientes;

Nossa primeira tarefa será criar a planilha onde iremos armazenar as informações dos clientes. Sim, isso mesmo, vamos armazenar as informações no próprio Excel.

Primeiro clique com o botão direito sobre a planilha Plan1 e selecione a opção Renomear do menu suspenso informando o nome Clientes;

A seguir na primeira linha da planilha digite o cabeçalho referente aos dados que desejamos gerenciar e em cada coluna informe os dados conforme a planilha exibida na imagem abaixo:

Obs: Lembre-se de formatar a coluna código como Número, e as demais como Texto. Para formatar selecione a coluna e clique com o botão direito selecione a opção Formatar Células;

Até o momento criamos a nossa planilha com os dados dos clientes agora vamos partir para a automação do cadastro das informações usando VBA.

Para começar vamos incluir dois botões de comando na planilha da seguinte forma:

  1. No menu clique na guia Desenvolvedor;
  2. A seguir clique na opção Inserir para abrir a caixa de controles disponíveis;
  3. Clique então no controle Botão (Button) e a seguir clique na área vazia a direita da planilha conforme mostra a figura para incluir o primeiro Botão;
  4. Repita a operação para incluir o segundo botão;

Quando você incluir um botão na planilha será aberta a janela para atribuir macro conforme mostra a figura a seguir:

Você deve então fazer o seguinte:

Para o primeiro botão informe o nome Auto_Open e clique no botão Novo:

Será aberta a janela onde você deve informar o código para abrir o formulário que iremos usar no projeto;

digite : frmCadastroClientes.Show , conforme a figura a seguir:

Para o outro botão iremos incluir o código para enviar o email mas faremos isso mais adiante:

Agora vamos alterar os textos de exibição dos botões:

  1. Para alterar o texto do botão clique com o botão direito do mouse sobre o botão e a seguir selecione : Alterar Texto;
  2. Informe os textos conforme indica a figura para os dois botões;

Vamos agora incluir o formulário no projeto para fazer isso faça o seguinte:

  1. Estando na planilha aberta pressione Alt+F11 ou clique na opção Visual Basic no menu da planilha para abrir o Editor Visual Basic;

   

  1. Na janela do Editor aberto clique no menu Inserir e selecione UserForm para incluir um formulário no projeto;

O formulário será incluído e a caixa de ferramentas com os controles que vamos incluir no formulário será aberta. Posicione-a ao lado do formulário:

A seguir vamos incluir os controles da caixa de ferramenta no formulário selecionando e arrastando o controle para o formulário. Iremos usar os seguintes controles:

  1. 8 Controles Label - usar o nome padrão para todos exceto para a Label que irá exibir os registros cujo nome deverá ser: lblRegistro;

  2. 7 Controles TextBox  : txtCodigo, txtNome, txtEndereco, txtCidade, txtEstado, txtCep, txtTelefone, txtEmail
  3. 10 Controles Button : cmdEnviarEmail, cmdNovo, cmdAlterar, cmdExcluir, cmdOk, cmdCancelar, cmdPrimeiro, cmdAnterior, cmdProximo , cmdUltimo;

O leiaute do formulário esta exibido abaixo:

Para atribuir um nome e o texto a ser exibido no controle, quando pertinente, selecione o controle e pressione F4 para abrir a janela de propriedades;

A seguir defina o Nome na propriedade Name e o Texto na propriedade Caption:

Obs: A propriedade BackColor define a cor de fundo do formulário.

Já temos dessa forma o nosso formulário pronto para ser recheado com o código VBA que irá fazer a coisa toda funcionar.

Aguarde a segunda parte do artigo quando irei definir o código VBA do projeto em nos eventos dos controles do formulário:

VBA - Cadastro de Clientes com envio de Email no Excel - II 

Eu sei é apenas Visual Basic for Applications (VBA), mas eu gosto...

Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

 

             Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter

Referências:


José Carlos Macoratti