Você está na página 1de 4

20/11/13 Cavalcante Consultores Treinamento e consultoria

www.cavalcanteassociados.com.br/article.php?id=638 1/4
CONFIRMANDO DECISES COM O MSGBOX
Cavalcante Consultores > Biblioteca de Excel > Confirmando decises com o MsgBox
Introduo
O VBA disponibiliza uma forma de emitir mensagens personalizadas para o usurio atravs
da funo MsgBox, permitindo incluse alterar uma srie de suas configuraes.
Desta vez, analisaremos uma das caractersticas da MsgBox que analisar seu retorno, que
informado pelo usurio o clicar em um dos botes disponveis na caixa de mensagem.
Este recurso til quando se deseja fazer questes aos usurios. A resposta da questo vir
das opes oferecidas a ele pelo MsgBox.
Comearemos sabendo como analisar o retorno da MsgBox. Veja o cdigo de exemplo:
O resultado da execuo do cdigo sero duas caixas de mensagem na seguinte sequncia
(clicando em OK em cada uma delas):
O que vale notar aqui o seguinte. Pelo fato de termos informado o parmetro Button
como vbOkOnly, o nico boto oferecido ao usurio foi o boto OK, o resultado no
poderia sido outro que no um. Vamos relembrar a tabela de valores retornados pelo
MsgBox:
Valores retornados
20/11/13 Cavalcante Consultores Treinamento e consultoria
www.cavalcanteassociados.com.br/article.php?id=638 2/4
Segundo a tabela, ao acionar o boto OK, o usurio est informando ao VBA um tipo de
retorno com o valor 1 que correnpondente contante vbOK. Vamos mudar o parmetro
Button para vbYesNo e verificar a execuo do cdigo:
O resultado:
Note que mais opes foram oferecidas ao usurio. Agora clique no boto Sim para ver o
que acontece com o retorno:
Na tabela de Valores retornado, podemos conferir que o valor 6 se refere contante
vbYes. Execute a funo novamente, s que desta vez, clique na opo No:
20/11/13 Cavalcante Consultores Treinamento e consultoria
www.cavalcanteassociados.com.br/article.php?id=638 3/4
Na tabela de Valores retornado, podemos conferir que o valor 7 se refere contante vbNo.
Desta forma, conseguimos um meio que questionar o usurio e facilmente oferecer-lhe
opes a respeito desta questo e analisar suas resposta. Experimente alterar o parmetro
Button da chamada ao MsgBox e veja o resultado informado.
Tornando o recurso til
Vimos que possvel oferecer ao usurio uma srie de alternativas de escolha em conjunto
a uma mensagem com o MsgBox. Veremos agora um exemplo simples de como analisar o
retorno da funo MsgBox para tomar decises nos aplicativos VBA.
Veja o seguinte trecho de cdigo:
Veja que no necessrio gravar ou mesmo analisar o valor numrico do retorno do
MsgBox. O VBA disponibiliza as constantes nomeadas, como vbYes, vbNo, vbOK para que
seja possvel fazer uma produo e leitura mais organizada do cdigo.
Na linha 6, declarada a varivel resultado do tipo VbMsgBoxResult que armazenar o
resultado da MsgBox. Na linha 4 acontece a chamada MsgBox. Quando o usurio clicar
em uma das opes mostrada, o VBA armazenar o retorno na varivel resultado.
Em seguida, usa-se a estrutura If...Then...Else para avaliar o resultado da funo. Veja que
a comparao feita com a contante vbYes. Como o cdigo deseja confirmar a ao do
usurio, este analisa o resultado de mostra a mensagem pertinente, Veja o resultado da
execuo do cdigo:
20/11/13 Cavalcante Consultores Treinamento e consultoria
www.cavalcanteassociados.com.br/article.php?id=638 4/4
Ao clicar no boto Sim, o seguinte resultado mostrado:
Como o resultado do MsgBox ao clicar no boato sim o valor de vbYes, o cdigo executa
a mensagem da linha 5.
Se executar o cdigo novamente e clicar no boto No, o resultado ser:
Desta vez, a linha executada pelo cdigo foi a de nmero 7.
Com estes recursos, possvel oferecer o usurio praticamente todos os tipos de opo
disponibilizados pelo Microsoft Windows em todas as situaes. Voc pode oferecer
opes como Anular/Repetir/Ignorar, Sim/No/Cancelar, entre outras
Comentrios
Vimos que o MsgBox oferece mais recurso alm da simples exibio de mensagens. Tendo
conhecimento de todas as possibilidades da funo, voc ter em mos uma poderosa
ferramenta para resolver praticamente todas as situaes de decisao que surgirem no
desenvolvimento de seus aplicativos.
Cavalcante Consultores solues de treinamento e consultoria
Av. Paulista, 2006, cj. 703/705, CEP 01310-926 So Paulo, SP
Telefone: (11) 3524 9222

Você também pode gostar