Upload
iza-monteiro
View
41
Download
8
Embed Size (px)
DESCRIPTION
VBA - Acessando o Access 2007 Com Excel
20/06/2015 VBAAcessandooAccess2007comExcel
http://www.macoratti.net/11/06/vba_acc1.htm 1/7
VBAAcessandooAccess2007comoExcel
Vou mostrar como podemos automatizar o Microsoft Excel usando a linguagem VBA atravs da criao de um programa paraacessar um banco de dados Access 2007 e exibir os registros de uma tabela na planilha Excel.
uma aplicao 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:
Microsoft Excel verso 2007;Microsoft Access 2007;Conhecimentos bsicos sobre planilhas , clulas, e Visual Basic;
Antes de iniciar temos que realizar duas configuraes no Microsoft Excel 2007:
Ativar a guia do desenvolvedor;Habilitar a execuo de macros;
Obs: A necessidade de habilitar a execuo de macros que por padro, o Excel coloca um nvel de segurana mais elevado poiscdigos maliciosos podem ser executados em scripts atravs de macros no Excel.
Vamos ativar a guia do desenvolvedor e logo em seguida habilitar a execuo de macros.
Para ativar a guia do desenvolvedor (se ainda no estiver ativa) siga os seguintes passos:
Abra o Excel 2007 e ative o Menu principal de opes clicando no boto superior a esquerda, conforme a figura abaixo;
A seguir clique na guia Opes do Excel para abrir a janela Opes do Excel;
20/06/2015 VBAAcessandooAccess2007comExcel
http://www.macoratti.net/11/06/vba_acc1.htm 2/7
Nesta janela, selecione o item Mais Usados e a seguir marque o item Mostrar guia Desenvolvedor na Faixa de Opes eclique no boto OK;
No menu do Excel selecione a guia do Desenvolvedor e em seguida clique em Segurana de Macro;
Na janela Central de Confiabilidade selecione a opo Configuraes de Macro e marque o item para habilitar todas as macrosconforme a figura abaixo:
Pronto , feito isso j podemos iniciar o desenvolvimento da aplicao VBA no Excel 2007.
Abra ento o Excel 2007 , ser aberta uma planilha em branco.
Clique no menu Desenvolvedor e a seguir no submenu Inserir para abrir a caixa de controles de Formulrio;
Selecione o primeiro Item da caixa Boto e a seguir com o mouse desenhe o boto em um local da planilha na qual voc desejaque o boto seja exibido;
20/06/2015 VBAAcessandooAccess2007comExcel
http://www.macoratti.net/11/06/vba_acc1.htm 3/7
Ao desenhar o boto ser aberto a caixa Atribuir Macro onde vamos definir o nome de uma macro que iremos criar no evento doboto;
Definimos ao evento Click do boto a rotina AcessaMDB que iremos criar me seguida;
Antes de espiar o cdigo Visual Basic gerado selecione o boto e clique com boto direito do mouse e no menu suspenso selecione Editar Texto e altere o texto do boto para Acessar Dados;
20/06/2015 VBAAcessandooAccess2007comExcel
http://www.macoratti.net/11/06/vba_acc1.htm 4/7
Agora clique no submenu Visual Basic para abrir a janela do editor de Cdigo:
Com a janela do editor Microsoft Visual Basic aberta podemos visualizar o cdigo do Modulo1 que mostra a rotina acessaMDBatribuda ao evento Click do boto;
Vamos incluir um novo Modulo e para isso clique com o boto direito do mouse sobre a Pasta Mdulos e selecione as opesInserir>Mdulo;
20/06/2015 VBAAcessandooAccess2007comExcel
http://www.macoratti.net/11/06/vba_acc1.htm 5/7
Vamos aceitar o nome Modulo2 dado por padro ao novo mdulo e a seguir definir a rotina AcessaMDB() conforme o cdigo abaixoneste mdulo:
Este cdigo usa a ADO para acessar o banco de dados criando as variveis objeto rs do tipo Recordset e cn do tipo Connection;
Aps abrir a conexo usando a string de conexo : "Provider=Microsoft.ACE.OLEDB.12.0;DataSource=c:\dados\TesteAccess2007.accdb;Persist Security Info=False"
Geramos o Recordset usando a instruo SQL Select * from Teste onde Teste o nome da tabela;
Em seguida a linha de cdigo: ActiveWorkbook.Sheets("Plan1").Cells(1, 1).CopyFromRecordset rs
Copia os dados da tabela para a planilha Plan1 a partir da clula(1,1).
Aps isso clique cone para Salvar o cdigo e retorne ao Excel clicando no cone do mesmo no menu da janela de cdigo.
Eu criei um banco de dados chamado TesteAccess2007.accdb no Access 2007 e o coloquei na basta c:\dados;
Neste banco de dados eu criei uma tabela chamada Teste com os seguintes dados:
20/06/2015 VBAAcessandooAccess2007comExcel
http://www.macoratti.net/11/06/vba_acc1.htm 6/7
Nosso objetivo acessar a tabela Teste e copiar os dados da tabela para planilha a partir a clulas 1,1;
Abrindo a planilha no Excel iremos ver a planilha vazia o boto de comando :
Clicando no boto de comando iremos chamar a rotina acessaMDB que ir copiar os dados da tabela Teste para a planilha:
Para salvar a sua planilha clique no boto Salvar Como e selecione Pasta de Trabalho Habilitada para Macros no Excel:
20/06/2015 VBAAcessandooAccess2007comExcel
http://www.macoratti.net/11/06/vba_acc1.htm 7/7
E dessa forma usando VBA vimos como acessar um banco de dados Access 2007 usando o Excel 2007 e copiar os dados de umatabela para o Excel.
Pegue o projeto completo aqui: AcessoAccess2007_VBA.zip (Obs: O banco de dados voc mesmo pode criar)
Eu sei apenas Visual Basic for Applications (VBA), mas eu gosto...
"Em verdade , em verdade vos digo que vem a hora, e agora , em que os mortos ouviro a voz do Filho de Deus, e os que aouvirem vivero."(Joo5:25)
Referncias:
VBA Cadastro de Clientes (Excel)VB .NET Incluindo uma tabela do Word em um DataGridViewSeoVBA do Site
Jos Carlos Macoratti