Nothing Special   »   [go: up one dir, main page]

5-Controle de Fluxo

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 13

Controle de Fluxo

Condições

Profa. Magali Andreia Rossi

Fonte: Profa. Andreia Machion


Construindo decisões no código
• Computadores se comportam de forma
inteligente em grande parte porque as linguagens
de programação permitem incluir comandos
para testes de condições;
• Dependendo do resultado do teste, o fluxo de
programação é desviado para seções
apropriadas de código;
• O processo é semelhante à tomada de decisão
humana: se estiver chovendo, então é bom
levar um guarda-chuva.
Como comparar coisas em VBA
• usando operadores relacionais, que definem o tipo de
comparação que se quer fazer
• VBA suporta as comparações mostrados na Tabela a seguir
(slide 3)
• Os seis primeiros operadores são os mesmo utilizados na
matemática e são diretos
• É possível comparar valores numéricos: x+5 <= 3
• ou alfanumérico: ana < bia
• O sétimo operador, no entanto, é um pouco diferente: ele é
utilizado para comparar objetos
– o operador is é usado para verificar se duas variáveis-objeto
representam o mesmo objeto (objetos nomeados, não objetos
de fato).
Operadores de Comparação
Exemplos
• Veja o trecho de código
Dim objTest1 As Object
Dim objTest2 As Object

Set objTest1 = ActiveDocument.Paragraphs(1).Range


Set objTest2 = ActiveDocument.Paragraphs(1).Range

‘a proxima instrução devolve FALSO porque os


‘objetos são diferentes
MsgBox objTest1 Is objTest2
Veja agora
• se ambas variáveis se referirem ao mesmo objeto, a comparação devolve TRUE
• no exemplo a seguir objTest1 e objTest2 referem-se à variável objeto bjTest3:

Dim objTest1 As Object


Dim objTest2 As Object
Dim objTest3 As Object
Set objTest3 = ActiveDocument.Paragraphs(1).Range
Set objTest1 = objTest3
Set objTest2 = objTest3

‘a próxima intrução devolve True porque


‘objTest1 e objTest2 referem-se ao mesmo objeto
MsgBox objTest1 Is objTest2

• Quando usar is, lembre-se não é o conteúdo da variável, mas sim a que elas se
referem
Operadores Lógicos
• em diversas situações você terá que testar
várias condições, associadas
• para isso você pode utilizar os operadores
lógicos
– e  and
– ou  or
– negação  not
Comandos se – então - senão
• comandos if estão presentes na maioria das
linguagens

• o VBA permite as seguintes combinações


– If. . . Then
– If. . . Then. . . Else
– If. . . Then. . . ElseIf. . . Else
if ... then
• É uma decisão simples: se a condição testada for verdadeira, então executa o
conjunto de ações, caso contrário, o fluxo é desviado para o comando
imediatamente abaixo do bloco de decisão.

• Um bloco IF inicia-se com IF e é finalizado com END IF e tem a seguinte sintaxe

If condição verdadeira Then


instrução 1
instrução 2

End If

• No entanto, se tudo for escrito numa única linha, não é necessário o END IF:

If condição verdadeira Then instrução


Exemplo

Dim bytIdade As Byte


bytIdade = InputBox(”Qual sua idade?”, ”Idade”)
If bytIdade < 21 Then MsgBox ”Você não pode comprar
bebida de alcool.”,, ”Menor de Idade”
if ... then ... else
• instruções IF. . . THEN funcionam bem quando
se escolhe executar um conjunto de ações
com base numa condição
• normalmente, será necessário escolher entre
2 conjuntos, para isso, pode-se utilizar
instruções do tipo
If. . . Then. . . Else
Sintaxe
If condição verdadeira Then
comandos 1
Else
comandos 2
End If
If. . . Then. . . ElseIf. . . Else Statements
• é usado para decidir entre múltiplas escolhas
• é possível usar tantos comandos ElseIf quantos necessários para
resolver o problema
• Sintaxe
If condição 1 verdadeira Then
comandos 1
ElseIf condição 2 verdadeira Then
comandos 2
ElseIf condição 3 verdadeira Then
comandos 3
Else
comandos 4
End If

Você também pode gostar