Você está na página 1de 86

Apostila VBA[1]

1 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

Scribd
Carregar um documento
Pesquisar Documentos
Explorar

Documentos
Livros - Fico
Livros - No fico
Sade e medicina
Catlogos
Documentos governamentais
Guias/Manuais Como fazer
Revistas e jornais
Receitas/Menus
Trabalho escolar
+ todas as categorias
Apresentou
Recente

Pessoas
Autores
Estudantes
Pesquisadores
Editores
Governamental e sem fins lucrativos
Negcios
Msicos
Artistas e designers
Professores
+ todas as categorias
Os mais seguidos
Popular

Miucha Woicolesko
Estamos utilizando o Facebook para personalizar sua experincia.
Saiba maisDesativar
Exibir perfil pblico
Meus documentos
Minhas colees
Minha estante
Mensagens
Notificaes
Conta
Ajuda
Sair

Bem-vindo ao Scribd - Onde o mundo ir ler, descobrir e partilhar...


Estamos usando o Facebook para fazer recomendaes de leitura com base no que seus amigos compartilham e nas coisas que voc gosta. Tambm facilitamos a conexo com eles:
agora, voc segue seus amigos do Facebook que esto no Scribd, e eles seguem voc! Futuramente, ser possvel acessar sua conta usando seu logon e senha do Facebook.
Saiba maisNo, obrigado
Alguns de seus amigos j esto no Scribd:

14/04/2012 11:01

Apostila VBA[1]

2 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

3 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

Vista
Virtual
INFORMTICA

Introduo a linguagem VBA - Visual Basic For Applications.............................................. 3


Onde podemos utilizar o VBA? .......................................................................................... 3
Como resposta a um evento : .......................................................................................... 3
Criao de funes e procedimentos em mdulos separados: ....................................... 3
Aprendendo VBA:..........................................................................................................4
Os comandos do VBA so divididos, basicamente, em trs tipos: .................................4
O Ambiente de Programao.................................................................................................. 6
Para criar o formulrio Teste faa o seguinte: .................................................................... 7
Anatomia dos Mdulos do VBA. .....................................................................................13
Principais comandos do VBA .............................................................................................. 15
Tipos de dados..................................................................................................................15
Declarao e tipo de varivel: ...................................................................................15
Fazendo clculos e comparaes com o VBScript Operadores. ................................18
Fazendo clculos com os Operadores aritmticos. ....................................................... 18
Comparando valores com os Operadores de comparao. ............................................22
O Escopo das variveis, no VBA. ................................................................................26
Estruturas para controle de fluxo em VBScript. ..........................................................29
Funes, procedimentos e eventos com VBScript. ..............................................................41
Introduo.........................................................................................................................41
Tipos de dados e funes para converso de tipos. ..........................................................41
Determinando o Tipo de Dados contido em uma varivel. ..........................................41
Funes para converso de tipos. ................................................................................. 50
Outras funes do VBScript Tratamento de String, Datas e Funes matemticas...... 56
Funes para tratamento de String. .............................................................................. 56
Funo Len. ..................................................................................................................56
Funo LCase. ..............................................................................................................57
Funo UCase. ..............................................................................................................57
Funo Left. ..................................................................................................................57
Funo Right. ...............................................................................................................58
Funo Mid. ..................................................................................................................58
Funo String. ...............................................................................................................59
Funes para tratamento de Data e Hora..........................................................................60
Funo Date. .................................................................................................................60
Funo Time. ................................................................................................................60
Funo Day. ..................................................................................................................61
Funo Month. ..............................................................................................................61
Funo Now. .................................................................................................................61
Funo MonthName. ....................................................................................................62
Funo Hour. ................................................................................................................62
A funo DateDiff. .......................................................................................................63
A funo DateAdd. .......................................................................................................64
Funo Year. .................................................................................................................65
Funes para Clculos matemticos. ................................................................................67
14/04/2012 11:01

Apostila VBA[1]

4 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

Vista
Virtual
INFORMTICA

Introduo a linguagem VBA - Visual Basic For


Applications
O VBA derivado do Visual Basic. O Visual Basic um ambiente de
desenvolvimento
completo,ondepodemoscriar programaspara o ambiente Windows.
Um programacomercial para controlar estoque de mercadorias
pode ser criado
utilizando-seo Visual Basic. Um aplicativocomo o f o l h a d e p a g a m e n t toambm
poderiaser criadoutilizandoo VisualBasic.
J o VBA uma linguagem bastante poderosa, embora
no seja topoderosa
quanto oVisual Basic, para criao de aplicativos
e automaode tarefas, baseados nos
aplicativos do
Microsoft Office:
Access,Word, Excel,Power Point
e Outlook.

Onde podemos utilizar o VBA?


VBA:

Existem,basicamente, duas
situaes/locais diferentes onde podemos
utilizaro

Comoresposta a um evento
:
Conforme descrito anteriormente,
o modelo deprogramao
do ambiente
Windows baseadoem Eventos.Um Evento umaaodo usurio ao
utilizaro teclado
ouo mouse.Por exemplo, quando
o usurioclica em um boto
de comando gerado o
evento "Ao clicar" associadocom este boto. Quando o usurio altera
valorem
o um
campode dadose pressionaa tecla TAB para ir para o prximocamposo gerados
dois eventosassociadoscom o campo que foi atualizado:"Aps atualizar" e "Ao
perder o foco". Quandoo usuriod um clique duplo emum determinadoelemento,
disparadoo evento "Ao clicar duas vezes", e assim por diante. Por padro
nenhuma ao programadapara responder aos eventos queso disparados.
Conformej vimos anteriormente possvelcriar macrosque sero executadas
em
14/04/2012 11:01

Apostila VBA[1]

5 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

Vista
Virtual
INFORMTICA

gravadasem Mdulosdo Access. Um Mdulo um objeto do Access cuja nica


finalidade armazenar cdigo
de procedimentose funes do VBA. Quando um
procedimentoou funo definidoe armazenadoem um mdulo,podemosus-loem
qualquer expresso,como se fosse uma funo
interna do Microsoft Access. Nos
criaremos, mais adiante, a ttulo de exemplo, uma chamada
funo MsPorExtenso.
Esta funoreceberum valornumricoentre 1 e 12 e ir retornaro nome do ms
correspondente,
por extenso.
Agora que j falei bastantee fiz uma boa propagandadas vantagens emse
utilizar o VBA, hora de aprendermosos fundamentosbsicos destalinguagemde
programao.

Aprendendo VBA:
Um procedimento,funo ou mdulodo VBA uma seqnciade comandos
que so executadospara a realizaode uma ou mais tarefas.Por exemplo,posso
escreverum grupode comandosque acessaos dados da tabela pedidose aumenta
o valor de um determinado
campode acordocomdeterminadas
condies.
Observeo comandoa seguir:
Me![NmeroDoPedido].SetFocus

Este um comando que, simplesmente,coloca o cursor no campo


NmeroDoPedido,no formulrio atual. No se preocupe em entender
este comando,
agora.
Todo comandoem VBA deve seguiralgumasregrasde sintaxe.A sintaxetem a
ver com a maneiracomo o comando escrito.Por exemplo,se voc for utilizar a
funoDay()em um comandoe aoinvsde Day(),utilizarDai(),vocter cometidoum
erro desintaxee o comandono poderser executado.Os erros de sintaxe so os
mais fceis de serem identificados e corrigidos.

14/04/2012 11:01

Apostila VBA[1]

6 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

Vista
Virtual
INFORMTICA

Objetosda hierarquiade objetos do Microsoft Office:


Um objeto uma
entidade que possui propriedades
(que descrevemas caractersticasdo objeto)e
mtodos (que descrevemos comportamentos do
objeto). Cada aplicativo do
MicrosoftOffice disponibilizauma hierarquia de objetos bem definida.Estes
objetos podem ser acessados atravs
de programao. Podemos utilizar os
mtodosdos objetos para realizar determinadas aes
sobre o objeto e suas
propriedadespara obterinformaessobre suas caractersticas.Esta hierarquia de
objetos que torna o VBA to poderoso.
graas a hierarquiade objetos do
Office que, de dentro de um banco de dados do Access,por exemplo,podemos
acessardados de uma planilhado Excel, gravadaem um drive de rede e combinar
tais dados com dados obtidos a partir de um banco de dados , por exemplo,do
Dbase (.dbf), gravado
na mquina local. Falaremosmais sobre objetosadiante.
Agora, apenas a ttulo de exemplo,algunscomandosdo VBA que utilizam um
objeto do tipo RecordSetpara descobriro nmero deregistrosda tabelaPedidos:
Dimdb As DAO.Database
Dimrs As DAO.Recordset
DimnumregAs Integer
Set db = CurrentDb()
Set rs = db.OpenRecordset("Pedidos")
numreg= rs.RecordCount
MsgBox"NMERODE REGISTROS
DA TABELAPEDIDOS:" & numreg

Quandoo MicrosoftAccessexecutaestescomandos emitidaa seguintemensagem:

14/04/2012 11:01

Apostila VBA[1]

7 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

8 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

9 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

10 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

11 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

12 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

13 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

14 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

15 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

16 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

17 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

18 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

19 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

20 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

21 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

22 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

23 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

24 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

25 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

26 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

27 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

28 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

29 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

30 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

31 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

32 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

33 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

34 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

35 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

36 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

37 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

38 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

39 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

40 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

41 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

42 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

43 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

44 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

45 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

46 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

47 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

48 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

49 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

50 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

51 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

52 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

53 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

54 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

55 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

56 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

57 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

58 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

59 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

60 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

61 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

62 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

63 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

64 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

65 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

66 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

67 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

68 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

69 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

70 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

71 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

72 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

73 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

74 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

75 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

76 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

77 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

78 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

79 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

80 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

81 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

82 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

83 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

84 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

85 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

14/04/2012 11:01

Apostila VBA[1]

86 de 86

http://pt.scribd.com/doc/6637152/Apostila-VBA1

Leave a Comment

Enviar
Caracteres: 400
03 / 26 / 2010This doucment made it onto the Rising List!

Enviar
Caracteres: ...
Carregar um documento
Pesquisar Documentos
Siga-nos!
scribd.com/scribd
twitter.com/scribd
facebook.com/scribd
Sobre
Imprensa
Blog
Parceiros
Scribd 101
Material da web
Suporte
Perguntas frequentes
Desenvolvedores/API
Vagas
Termos
Copyright
Privacidade
Copyright 2012 Scribd Inc.
Idioma:
Portugus

14/04/2012 11:01

Você também pode gostar