Você está na página 1de 12

APROG

Civil

Aula 1

Programação de Computadores
usando VBA
Introdução - Conceitos Básicos

ISEP-DEI, António Silva, © 2007-2009 1 Conceitos Básicos

Tuesday, December 1, 2009


APROG
Civil

• Objectivo: aprendizagem das técnicas


básicas de programação de computadores

• Ambiente: Excel e Editor de VBA

• Requesitos: Conhecimentos de Excel

ISEP-DEI, António Silva, © 2007-2009 2 Conceitos Básicos

Tuesday, December 1, 2009


APROG
Civil VBA

• VBA - linguagem de programação


baseada no Visual Basic
• Permite
• acrescentar capacidades
adicionais às aplicações Office
• Automatizar tarefas repetitivas

ISEP-DEI, António Silva, © 2007-2009 3 Conceitos Básicos

Tuesday, December 1, 2009


APROG
Civil Macros

• Um macro é um programa escrito em VBA, que


indica a uma aplicação Office quais os passos a
dar para realizar uma dada tarefa.
• Um macro é uma descrição formalizada das
acções que se pretende automatizar.
• Os macros incluem instruções que interagem
com elementos da aplicação. Por ex.:
• Para numa aplicação Office se fechar uma
janela, pode usar-se o menu Close.
• Num macro em VBA, a instrução
correspondente é:
ActiveWindow.Close

ISEP-DEI, António Silva, © 2007-2009 4 Conceitos Básicos

Tuesday, December 1, 2009


APROG
Civil Construção de um Macro

Métodos
1. Gravar a sequência de passos que ele
deverá executar na aplicação.
• Corresponde a mostrar o que fazer para
conseguir obter o resultado pretendido.
• Ensinar a aplicação pelo exemplo.

2. Criar o macro, Inserindo as instruções


adequadas numa sub-rotina, usando o
Editor de VBA.

ISEP-DEI, António Silva, © 2007-2009 5 Conceitos Básicos

Tuesday, December 1, 2009


APROG
Civil Gravação de um Macro

Passos
1. O utilizador indica ao programa que se vai
entrar no modo de gravação do macro
2. Inicia a execução da sequência de acções que
normalmente teria que executar.
3. Quando chega ao fim dessa sequência, indica
ao programa que a gravação terminou.
4. Atribui-se a essa sequência uma combinação
de teclas especial
O macro estará pronto a ser executado,
substituindo a sequência de acções individuais que
anteriormente seriam necessárias.
ISEP-DEI, António Silva, © 2007-2009 6 Conceitos Básicos

Tuesday, December 1, 2009


APROG
Civil Gravação de um Macro

Gravação
Janela de Gravação de Macros

STOP!

ISEP-DEI, António Silva, © 2007-2009 7 Conceitos Básicos

Tuesday, December 1, 2009


APROG
Civil Gestão de Macros

Janela de Gestão de Macros [Alt-F8]

ISEP-DEI, António Silva, © 2007-2009 8 Conceitos Básicos

Tuesday, December 1, 2009


APROG
Civil Ambiente de desenvolvimento VBA

Explorador
de projectos

Barra de
ferramentas
VBA

Editor de VBA
[Alt-F11]

ISEP-DEI, António Silva, © 2007-2009 9 Conceitos Básicos

Tuesday, December 1, 2009


APROG
Civil Criação de um macro

• Criar um módulo para albergar o macro, usando o


menu "Insert/Module".
• Se já existir algum módulo criado,
1. seleccionar o módulo pretendido no explorador de
projectos,
2. posicionar o cursor na janela correspondente a esse
módulo, numa área fora de qualquer macro já existente, e
3. seleccionar a opção de menu "Insert/Procedure".
• Aparecerá uma janela própria onde será possível
• dar o nome ao novo procedimento,
• especificar o tipo de macro que vai ser construído
(função ou procedimento) e qual o âmbito da sua
utilização (privada ou pública).
ISEP-DEI, António Silva, © 2007-2009 10 Conceitos Básicos

Tuesday, December 1, 2009


APROG
Civil Exemplo de Macro

Macro que verifica se o valor presente numa determinada célula


(B2) é superior a um dado limite e que, caso seja, disso notifica
o utilizador.

Cabeçalho Public Sub verificaValor()


If Cells(2, 2) > 100 Then Estrutura
MsgBox "Valor maximo excedido!" de Controlo
Condicional
End If
End Sub

Refere-se à célula B2

ISEP-DEI, António Silva, © 2007-2009 11 Conceitos Básicos

Tuesday, December 1, 2009


APROG
Civil Outro exemplo de Macro
Fazer a mesma verificação num conjunto de células e apenas
desencadear o alarme caso mais do que duas dessas células
ultrapassem o limite estabelecido.

Public Sub verificaGama()


Dim i As Integer, c As Integer
c=0
For i = 1 To 5
If Cells(i, 3) > 100 Then Estrutura
c=c+1 de Controlo
Repetitivo
End If
Next
If c > 2 Then
MsgBox c & " valores superiores ao limite!"
End If
End Sub

ISEP-DEI, António Silva, © 2007-2009 12 Conceitos Básicos

Tuesday, December 1, 2009

Você também pode gostar