Buscar

Introduçao ao VBA

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

25/02/2016
1
Introdução ao VBA 
Visual Basic for Application
Prof. Andreia Machion
Por que utilizar VB em aplicativos 
Office?
• O VBA oferece possibilidades de controle e personalização 
para criar aplicativos que vão além do que é possível de ser 
feito usando apenas Macros. 
• É uma linguagem de programação interna do Microsoft 
Office (na prática é a linguagem de programação para todos 
os aplicativos do Office: Access, Word, Excel e Power Point). 
• Usa-se o VBA pelo mesmo motivo que se utilizam macros
– Para automatizar tarefas e rotinas repetitivas, envolvendo os 
diversos elementos do banco de dados (tabelas, consultas, 
formulários, relatórios, folhas de dados, macros e módulos).
– No entanto, o VBA oferece maior poder e controle mais 
detalhado do que as ações de macro. 
25/02/2016
2
Macros x VBA - 1
• Macros duplicam operações que podem ser realizadas 
manualmente, usando menus e teclas de atalho.
• O VBA vai além da simples automação de seqüências de 
ações de teclado e menus de comandos.
• Ele oferece um conjunto de ferramentas que permite criar 
aplicações personalizadas com base nos elementos do 
Office. 
– Por exemplo, pode-se criar uma rotina em VBA em um banco de 
dados para acessar dados em um segundo banco de dados que 
está na rede.
– A mesma rotina além de acessar os dados pode fazer cálculos, 
consolidações, gerar os resultados no formato de uma planilha 
do Excel e salvar a planilha na rede ou em uma página Web, por 
exemplo.
Macros x VBA – 2
• Acessando um ou mais conjuntos de registros:
– ações de macros permitem operar somente com o registro ou com o 
conjunto de registros atualmente sendo exibido em um formulário, 
relatório ou consulta;
– o VBA lhe permite trabalhar com qualquer conjunto de registros no 
banco de dados ativo ou em outras banco de dados e, inclusive, com 
vários conjuntos de registros ao mesmo tempo. Por exemplo, é 
possível montar uma rotina VBA, associada a um formulário de 
entrada de pedidos, a qual faz a baixa dos produtos vendidos, 
automaticamente, na tabela de estoque. 
• Manipulação de objetos:
– o VBA oferece métodos de criação e modificação dos objetos de um 
aplicativo MSOffice;
– um objeto é qualquer elemento do Microsoft Office, por exemplo: 
uma tabela, uma planilha, um formulário, um relatório etc. 
25/02/2016
3
Macros x VBA - 3
• Criação de funções definidas pelo usuário:
– um dos maiores benefícios do VBA: criar funções 
que executam cálculos repetitivos ou cálculos para 
os quais o Access não dispõem de uma função 
pronta. 
• Por exemplo, vários formulários podem conter um 
campo CPF ou CNPJ. Pode-se criar, em cada formulário, 
o código necessário para a validação do DV do CPF ou 
CNPJ. Porém este procedimento não é o mais indicado, 
pois além da duplicação do código necessário à 
validação do CPF ou CNPJ
Macros x VBA - 4
• Definição de condições e controle de fluxo:
– O VBA oferece uma variedade de comandos e 
estruturas para a realização de testes condicionais 
e para a repetição de um conjunto de comandos.
• Realização de cálculos complexos e solução 
de problemas que envolvem uma lógica 
complexa:
– Com macros é impossível a realização de cálculos 
mais complexos, tais como cálculo do imposto de 
renda, recolhimentos de tributos etc. 
25/02/2016
4
Origens
• Visual Basic que é um ambiente de desenvolvimento completo, no 
qual pode-se criar programas para o ambiente Windows. 
• o VBA é uma linguagem poderosa, embora não tão poderosa 
quanto o Visual Basic, para criação de aplicativos e automação de 
tarefas, baseados nos aplicativos do Microsoft Office: Access, Word, 
Excel, PowerPoint e Outlook. 
• Diferenças
– Com o Visual Basic é possível criar os programas executáveis, ou seja, 
você cria o programa e gera os arquivos de instalação. Nos arquivos de 
instalação estão todos os recursos necessários à instalação e ao 
funcionamento do programa. 
– Com o VBA não é possível criar programas executáveis. As rotinas de 
programação criadas com o VBA tem que ser executadas dentro de um 
dos aplicativos do Office, como por exemplo o Access, Excel, Word, 
PowerPoint ou Outlook. 
Utilização - 1
• Como resposta a um evento
• O modelo de programação do ambiente Windows é baseado em Eventos.
• Um Evento é uma ação do usuário ao utilizar o teclado ou o mouse. Por 
exemplo, quando o usuário clica em um botão de comando é gerado o 
evento "Ao clicar" associado com este botão.
• Por padrão nenhuma ação é programada para responder aos eventos que 
são disparados. 
• É possível criar macros que serão executadas em resposta a um 
determinado evento.
• Pode-se utilizar o VBA para criar um procedimento (um procedimento é 
formado por um ou mais comandos e pode ser do tipo Sub-procedimento 
ou Função) que será executado em resposta ao evento.
– Por exemplo, um procedimento para validar um número de CPF (calcular o DV 
do CPF). Este procedimento pode ser configurado para ser executado em 
resposta ao evento Após atualizar do campo CPF. O código criado para ser 
executado em resposta a um evento, é gravada juntamente com o formulário 
(ou relatório), onde está o elemento que dispara o evento. 
25/02/2016
5
Utilização - 2
• Criação de funções e procedimentos em módulos 
separados:
• Procedimentos ou funções que não estejam ligados a um 
evento específico em um formulário ou relatório (podendo, 
porém serem chamados em diversos eventos diferentes).
• Um Módulo é um objeto do Microsoft Office cuja única 
finalidade é armazenar código de procedimentos e funções 
do VBA.
• Quando um procedimento ou função é definido e 
armazenado em um módulo, ele pode ser usado em 
qualquer expressão, como se fosse uma função interna do 
Microsoft Office ou chamado em resposta a um evento. 
O Ambiente de Programação - 1 
• O ambiente de programação é, basicamente, um editor de 
texto com recursos adicionais, os quais facilitam bastante o 
trabalho do programador.
• Os aplicativos do Microsoft Office fornecem um ambiente 
de programação bastante poderoso, com uma série de 
recursos que facilitam a criação, utilização e depuração de 
código VBA.
• Se esse ambiente não estivesse disponível seria necessário 
lembrar a sintaxe de todos os comandos, dos métodos e 
propriedades dos objetos. 
• Com o VBA, tem-se acesso a milhares de objetos e cada 
objeto pode ter dezenas de propriedades, métodos e 
coleções. 
25/02/2016
6
O Ambiente de Programação - 2 
• O ambiente de Desenvolvimento fornece uma série de facilidades 
durante a criação do código VBA.
• Por exemplo, ao digitar o nome de um objeto e um ponto será 
aberta, automaticamente, uma lista com todos os métodos e 
propriedades deste objeto. Ao invés de lembrar do nome dos 
métodos/propriedades, basta selecioná-los em uma lista.
• Se um método for selecionado, ao digitar o parênteses de abertura, 
será exibida uma lista com os argumentos esperados pelo método, 
bem como o tipo (texto, número, data etc.) de cada argumento. 
• Se for digitado um comando incorretamente, o Ambiente de 
Desenvolvimento emite uma mensagem e coloca em destaque o 
comando que foi digitado incorretamente.
Os comandos do VBA são divididos, 
basicamente, em dois tipos:
• Comandos básicos do VBA:
– São aqueles presentes em toda e qualquer linguagem de 
programação que se preze. São comandos para declaração de 
variáveis, operadores aritméticos e lógicos, estruturas de 
controle e operadores para a realização de testes condicionais.
– Por exemplo, qual a linguagem que não possui uma função IF 
para a realização de testes condicionais? 
• Funções internas do Microsoft de cada aplicativo Office:
– Existem centenas de funções prontas, fornecidas pelo Microsoft 
Access, por exemplo, e que podem ser utilizadas em qualquer 
comandodo VBA.
– Por exemplo, para armazenarmos em uma variável x, o valor 
numérico do ano da data do sistema, pode-se utilizar o seguinte 
comando: x = Year(Date()) 
25/02/2016
7
Variáveis
• Uma variável é um local na memória reservado para armazenar 
um pedaço de informação que pode ser alterado enquanto 
um processo está em execução.
• Pense nisso como um compartimento, redimensionável na memória
• Por exemplo, se você precisa que o usuário insira seu nome por meio de 
uma entrada ou uma caixa de diálogo, você normalmente armazena o 
nome em uma variável para que você possa trabalhar com ele durante o 
processo.
• VBA usa vários tipos de variáveis:
– Strings: armazenam caracteres de texto ou grupos de caracteres.
– Integers: armazenam números inteiros (números sem frações).
– Objects: armazenam objetos.
– Variants: podem armazenar qualquer tipo de dados. É o tipo padrão 
de variáveis. Você pode deixar VBA criar variáveis Variant para armazenar suas 
informações, ou você pode especificar um tipo de qualquer .
Variáveis
• Uma variável é um espaço na memória para armazenar valores 
quando necessário. 
• Como a memória da qual estamos falando é a Memória RAM, o 
valor é perdido quando o aplicativo é encerrado.
• Para conseguir utilizar tal espaço na memória, você precisa 
comunicar ao “computador” sua intenção, informando quantas 
porções de memória vai precisar e qual o tamanho de cada porção.
• Comunicar essa intenção é referido como 
declarar uma variável
• Como podem ser utilizados vários valores durante a execução do 
aplicativo, o computador precisaria de duas informações para 
manter um valor: um nome que pode ser usado para identificar a 
parte da memória e da quantidade de memória que será necessário 
para armazenar os valor, isto é, o tipo da informação a ser 
armazenada.
25/02/2016
8
Nomes de Variáveis
• Há regras que devem ser observadas para a criação de 
variáveis:
– Começar por letras (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, 
r, s, t, u, v, w, x, y, z, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, 
Q, R, S, T, U, V, W, X, Y or Z) ou pelo caracter sublinhado _ 
– O nome não pode conter um ponto (.) ou um caracter
especial (tal como ! @ # $ % ^ & * ( ) + - = [ ] { } ; ' : " , . / < 
> ? \ | ` ou ~) 
– O nome não pode conter um espaço em branco
– O nome tem no máximo 255 caracteres. Uma boa prática
de programação é limitar em 30 caracteres
– O nome deve ser único num mesmo escopo
Declaração de variáveis
• Quando estiver escrevendo o seu código, você pode usar qualquer variável 
especificando-a somente pelo seu nome. Neste caso, a máquina cria um 
espaço em memória para tal variável. No entanto, quando se faz uso de 
variáveis dessa forma, o espaço alocado é do tipo variant, o maior, 
como será visto mais adiante. Além disso, o seu código pode ficar confuso.
• Para declarar uma variável, usa-se a função Dim seguida do nome da 
variável. Exemplo:
Dim BackgroundColor
• Uma boa prática de programação é forçar a declaração de todas as 
variáveis de um módulo. Para isso , usa-se 
Option Explicit
• no início de cada módulo.
• Isto também pode ser feito de forma automática, escolhendo-se a opção
Require Variable Declaration
• no menu de opções.
25/02/2016
9
Definindo o tipo da variável
• Um tipo de dado define que tipo de valor será armazenado . Existem vários tipos 
para diferentes propósitos. Antes de atribuir um tipo a uma variável é importante 
saber quanto espaço aquele tipo ocupa na memória. Tipos diferentes ocupam 
espaços diferentes. A quantidade de espaço é medida em bytes.
• Para especificar o tipo de cada variável, depois de escrever Dim e o 
nome_variável use a palavra-chave As seguida do tipo:
Dim VariableName As DataType
• Com isso, você tem a variável VariableName declarada como sendo do tipo 
DataType, se for necessário declarar mais variáveis, você pode fazer:
Dim Variable1 As DataType1
Dim Variable2 As DataType2
Dim Variable3 As DataType3
• Você também pode declarar mais que uma variável numa mesma linha:
Dim Variable1 As DataType1, Variable2 As DataType2
O tipo Variant pode ser usado para declarar qualquer tipo de variável, 
no entanto, deve ser evitado. 
O tipo Boolean permite armazenar somente 2 valores, verdadeiro ou 
falso, 0 ou não 0, Sim ou Não. 
25/02/2016
10
Algumas funções de conversão de 
tipos
• Toda vez que se recebe um valor em uma aplicação como 
entrada, o valor é um TEXTO. Se for necessário utilizá-lo 
como outro tipo, é necessário convertê-lo.
• Microsoft Visual Basic fornece funções específicas para tal:
– para Boolean CBool()
– para String  CStr()
– para Byte  CByte()
– para Integer CInt()
– para Long CLng()
– para Single CSng()
– para Double  CDbl()
– para Currency CCur()
– para Date  CDate()
Constantes
• são valores que não variam ao longo de um 
programa
• para definir constantes, usa-se a palavra-chave 
Const
– Const Pi = 3,14
– Const Aumento = 1,10
– Const EstCivil = “Solteiro(a)”

Outros materiais