Você está na página 1de 41

Automação de Documento

Introdução ao VBA
Nisston Moraes Tavares de Melo
nisston.moraes@faculdadeidez.com.br
12 de maio de 2009
FP.AC.010.00
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

Preliminares
• O que é uma linguagem de programação?
• Estilo de programação.

12 de maio de 2009 2
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

O que é uma linguagem de programação?


• É uma linguagem especial e muito restrita e que
é entendido pelo computador em algum nível.
Nós podemos dividir está linguagem de
programação em três grupos, são eles:
– Linguagem de programação de baixo nível;
– Linguagem de programação de alto nível;
– Linguagem de programação de aplicação.

12 de maio de 2009 3
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

Exemplos de linguagem de programação


Linguagem Propósito Geral

ALGOL Uma tentativa para criar uma linguagem universal.

BASIC Linguagem simples para iniciantes.

C, C++ Linguagem poderosa com excelente desempenho e velocidade.

COBOL Linguagem para programação de negócios.

FORTRAN Linguagem para programação científica.

Lisp Linguagem utilizada em inteligência artificial.

Pascal Linguagem para estudantes e pequenos programas.

SIMULA Linguagem para simulações de fenômenos físicos.

Smalltalk Linguagem para programação orientada a objetos.

Visual Basic Versão do BASIC para aplicações no Windows.

Visual C++ Versão do C++ para aplicações no Windows.

12 de maio de 2009 4
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

Exemplo de linguagem de programação


Linguagem Declarando valores
APL X <- 5
BASIC LET X = 5 ou X = 5
BETA 5 -> X
C, C++ X = 5;
COBOL MOVE 5 TO X
FORTRAN X=5
J X =. 5
LISP (SETQ X 5)
Pascal X := 5
Visual Basic X=5

12 de maio de 2009 5
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

Estilo de programação
• Desenvolver um programa que possa oferecer
características como:
– Simplicidade;
– Objetividade;
– Repleto de comentários;
– Modularização.

12 de maio de 2009 6
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

Linguagem de programação de aplicação


• É a linguagem utilizada para a comunicação entre o
usuário e outro aplicativos, p. ex., Pacote da
Microsoft Office pode se comunicar com a
linguagem VBA, o banco de dados Oracle trabalhar
com uma linguagem de programação chamada de
PL/SQL.
• No caso específico do VBA, a Microsoft oferece uma
IDE (Integrated Development Environment) que
facilita o usuário na hora de desenvolver aplicações.

12 de maio de 2009 7
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

A IDE (Ambiente de Desenvolvimento Integrado) do VBA – parte I


• Elementos principais:
– Janela do projeto
– Janela de propriedades
– Janela de código
– Janela de verificação

12 de maio de 2009 8
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

A IDE do VBA – parte II

Janela de
código

Janela de
projeto

Janela de
propriedade
Janela de
verificação

12 de maio de 2009 9
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

Navegando na IDE
• Alt-F11 – Alterna entre Excel e IDE VBA.
• F7 – Vai para janela de código.
• F4 – Vai para janela de propriedades.
• Ctrl-R – Vai para janela projeto.
• Ctrl-G – Vai para janela de verificação.
• F5 – Executa um sub-rotina.

12 de maio de 2009 10
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

Macros
• As macros são sub-rotinas embutidas nos
arquivos do Excel.
• O Microsoft Excel oferece uma excelente
ferramenta de criação de macros, onde com a
ajuda de um assistente podemos construir
macros simples.

12 de maio de 2009 11
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

Macros
• Criando uma macro pelo menu:
– Ferramentas – Macros – Gravar nova macro;
– A partir desse momento todas as operações
realizadas serão armazenadas em forma de
comandos e guardadas em uma sub-rotina.

12 de maio de 2009 12
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

Macros
• Criar uma macro para colocar negrito o
conteúdo de uma célula.

12 de maio de 2009 13
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

Funções e sub-rotinas
• Sub-rotinas
– Conjunto de ações utilizada para resolver um
determinado problema. Não retornando nenhuma
informação para quem ativou a sub-rotina.
• Funções
– Conjunto de ações utilizada para resolver um
determinado problema. Retornando uma
informação para quem ativou a função.

12 de maio de 2009 14
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

Estrutura da Função e da sub-rotina (parte I)


• Sub <nome> (parâmetros)
– Comandos
• End Sub

• Function <nome> (parâmetros)


– Comandos
• End Function

12 de maio de 2009 15
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

Elementos
• Comentários
• Linhas continuas
• Constantes
• Variáveis e tipos de dados
• Operador em VBA

12 de maio de 2009 16
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

Comentários
• Serve para esclarecer e melhorar o entendimento do programa.

12 de maio de 2009 17
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

Linhas continuas
• Deverá ser digitado comandos para uma mesma linha, caso contrário a
quebra da linha deve ser indicado com um under-line.

12 de maio de 2009 18
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

Constantes
• Utilizada para fazer referência a uma informação que não deverá ser
alterada durante toda a vida do programa.

12 de maio de 2009 19
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

Variáveis
• Utilizado para guardar informações na memória do computador durante a
execução do programa;
• Deve ser indicado qual o tipo de informação vai ser armazenado;
• O identificador deverá ser simples, objetivo e representar o seu
conteúdo;
• O identificador não poderá ser descontínuo;
• O identificador deverá começar com letras;

12 de maio de 2009 20
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

Tipos de dados
Tipo Tamanho Intervalo
Byte 1 byte 0 to 255
Boolean 2 bytes True or False
Integer 2 bytes -32,768 to 32,767
Long (long integer) 4 bytes -2,147,483,648 to 2,147,483,647
Single(singleprecisionreal) 4 bytes Approximately -3.4E38 to 3.4E38
Double(doubleprecisionreal) 8 bytes Approximately -1.8E308 to 4.9E324
Approximately -922,337,203,685,477.5808 to
Currency(scaledinteger) 8 bytes
922,337,203,685,477.5807
Date 8 bytes 1/1/100 to 12/31/9999
Object 4 bytes Any Object reference.
Variable length:10 bytes +
Variable length: <= about 2 billion (65,400for
String string length;Fixed length:
Win 3.1) Fixed length: up to 65,400
string length
6 bytes for numbers22 bytes
Variant Number: same as DoubleString: same as String
+ string length

User-defined Varies

12 de maio de 2009 21
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

Declaração de variáveis
• Dim Nome As String
• Dim ValorTotal As Integer
• Dim Endereco As String
• Dim DataNasc As Date
• Dim Idade As Integer
• Dim Largura As Single
• Dim Salario As Currency
• Dim Idade, Altura, Largura As Integer
• Dim Idade As Integer, Nome As String, Salario As Currency

12 de maio de 2009 22
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

Declaração de variáveis
• Option Explicit
• Tipo Variant

12 de maio de 2009 23
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

Operador Operação Simbolo

Operador em VBA Aritmético Adição +


Subtração -
Multiplicação *
Divisior /
Divisior com Inteiro \
Exponencial ^
Modulo Mod
String Concatenação &
Logico AND AND
OR OR
NOT NOT
Relacional Igual =
Maior que <
Menor que >
Menor e igual <=
Maior e igual >=
Diferente <>

12 de maio de 2009 24
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

Escopo das variáveis


• Nível de procedimento (Local)
• Nível de módulo Pública
• Nível de módulo Privada

12 de maio de 2009 25
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

Escopo das variáveis

12 de maio de 2009 26
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

Inicialização das variáveis

12 de maio de 2009 27
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

Funções e sub-rotinas
• Chamando uma função
• Chamando uma sub-rotina
• Parâmetros e argumentos
• Saindo de uma função/sub-rotina

12 de maio de 2009 28
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

Chamando uma função


• Function Nome(Parametros As Typo,...) As ReturnType

comandos

EndFunction

12 de maio de 2009 29
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

Chamando uma sub-rotina


• As sub-rotinas são na verdades macros e podem ser executadas utilizando as teclas de
atalho Alt + F8 para visualizar todas as macros criadas para a pasta.

12 de maio de 2009 30
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

Chamando uma sub-rotina


• Sub Nome(Parametros As Typo,...)

comandos

EndSub

12 de maio de 2009 31
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

Parâmetros e argumentos
• Utilizado para passar informações para dentro
das sub-rotinas/funções.
– Obrigatórios
– Opcionais
– Por valor
– Por referência

12 de maio de 2009 32
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

Parâmetros Opcional

12 de maio de 2009 33
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

Parâmetro por referência

12 de maio de 2009 34
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

Parâmetro por valor

12 de maio de 2009 35
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

Escopo dos procedimentos


• Pública
• Privada

12 de maio de 2009 36
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

Objeto no Excel
• Definição:Objetos são entidades que têm identidade,
atributos e métodos. Desempenhando um papel
importante no sistema, podendo ser: uma pessoa,
um documento, uma atividade, etc.
• Exemplos:
– Application
– Cells
– Selection
– Range

12 de maio de 2009 37
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

Objeto no Excel
• Referenciando um atributo
– Objeto . Atributo/Propriedade
• Exemplos:
– Cells(1,1).Value = “Unibratec”
– Range(“A1:A5”).Value = “João Pessoa”
– Selection.Font.Size = 20

12 de maio de 2009 38
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

Objeto no Excel
• Referenciando um método
– Objeto . método
• Exemplos:
– Application.Quit
– Selection.Copy
– Selection.Clear

12 de maio de 2009 39
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

Exercício
1. Criar uma função que receba um valor e retorne
5% do valor.
2. Criar uma função que possa calcular o Índice de
Massa Corporal IMC, (Peso / Altura2).
3. Criar uma função que calcule a área de um
triângulo.
4. Criar uma função que receba um valor e escreva
o valor com um acréscimo de 25%.

12 de maio de 2009 40
Introdução a VBA Prof. Nisston Moraes
Automação de Documento

Referências
• ROMAN, Steven. Desenvolvendo macros no
Excel. Rio de Janeiro: Editora Ciência Moderna
Ltda., 2000, cap. 2 – 6. p. 7 – 88.
• MANZANO, José A. Navarro Garcia, MANZANO,
André Luiz N. G. Estudo Dirigido de Excel 2000
Avançado. São Paulo: Érica, 1999 (Coleção P.D.),
cap 5. p. 101 - 124.

12 de maio de 2009 41

Você também pode gostar