Archive for December, 2007

VBA, ADODB de Access para Excel 0

Precisei mexer com ADODB em VBA para poder acessar dados armazenados em Access usando linguagem SQL.

Estava eu testando um tutorial encontrado na internet (obrigado google) e usava o objeto ADODB.Resultset, mas cada ele? Erro de execução. E o Ctrl+Espaço nem funcionava (aliás já não funciona nem pro básico). Mas como pode ter um ferramente como o Office 2007 e não estar integrado ou não ter suporte para isso. Tentei buscar os drivers pela internet ou coisa parecida e nada. Raros os casos de problema sobre isso.

O problema estava que o Driver vem desabilitado e você tem de habilitá-lo no IDE/Editor do VBA do Office.

Basta ir em Tools > References, e ativar o Microsoft ActiveX Data Objects 2.8 Library

Excel References ADODB

Ai você terá acesso ao ADODB.

Nota. Aqui sempre desabilita quando abro um novo Excel, então é necessário sempre marcar novamente a opção. Num arquivo onde o procedimento já foi executado, não há necessidade.

VBA para Excel 2

Esses últimos dias peguei um trabalho que era fora do mundo em que costumo estar. Nunca havia programado em VBA e muito menos mexido com macros em Excel, ou para qualquer aplicação do office.

Estou trabalhando com o Office 2007, que cá entre nós está excelente. Talvez a interface seja um pouco estranha para o pessoal que usava no seu cotidiano o office e conhecia os atalhos e blá blá blá. Eu, para os meus trabalhos, o uso do office sempre foi superficial, apesar de usar os recursos além da grande maioria que pensa que Excel é um gerador de tabelas melhor que o do Word.

Voltando ao assunto, nunca havia usado no Office 2003, mas o Office 2007 torna muito fácil e visível a importação de dados externos. Entretanto, ele apenas puxa dados e deixa para o usuário trabalhar com eles. Tá, até ai tudo bem, mas se eu quiser ficar puxando dados com filtros e etc, vou sempre ter que criar uma conexão e setar os paramêtros e etc. Muito trabalhoso.

Para isso comecei a estudar VBA básico. Comecei a manipular com planilhas, folhas e etc. Sinceramente, foi um stress trabalhar com VBA. Quem já programou com linguagens mais estruturadas deve concordar. Cheguei até pensar em abrir o Visual Studio e passar a programar em C# com Interop.

Mas não, pensei, Office/Macros é sempre VBA deve ter milhares de suportes pela internet. Até tinha, mas muitas vezes é difícil encontrar realmente o que você quer. Senti a IDE que é fornecida no Excel extramente fraca. Os auto-completes deixam a desejar, e muitas vezes não é nem possível obter a interface. Fiquei pensando que só a experiência e saco fará de você um bom programador de macros.

Será que estou enganado?