4
20/11/13 Cavalcante Consultores – Treinamento e consultoria www.cavalcanteassociados.com.br/article.php?id=638 1/4 CONFIRMANDO DECISÕES COM O MSGBOX Cavalcante Consultores > Biblioteca de Excel > Confirmando decisões com o MsgBox Introdução O VBA disponibiliza uma forma de emitir mensagens personalizadas para o usuário através da função MsgBox , permitindo incluse alterar uma série de suas configurações. Desta vez, analisaremos uma das características da MsgBox que é analisar seu retorno, que é informado pelo usuário o clicar em um dos botões disponíveis na caixa de mensagem. Este recurso é útil quando se deseja fazer questões aos usuários. A resposta da questão virá das opções oferecidas a ele pelo MsgBox . Começaremos sabendo como analisar o retorno da MsgBox. Veja o código de exemplo: O resultado da execução do código serão duas caixas de mensagem na seguinte sequência (clicando em OK em cada uma delas): O que vale notar aqui é o seguinte. Pelo fato de termos informado o parâmetro Button como vbOkOnly, o único botão oferecido ao usuário foi o botão OK, o resultado não poderia sido outro que não um. Vamos relembrar a tabela de valores retornados pelo MsgBox : Valores retornados

Msgbox Macros

Embed Size (px)

Citation preview

Page 1: Msgbox Macros

20/11/13 Cavalcante Consultores – Treinamento e consultoria

www.cavalcanteassociados.com.br/article.php?id=638 1/4

CONFIRMANDO DECISÕES COM O MSGBOX

Cavalcante Consultores > Biblioteca de Excel > Confirmando decisões com o MsgBox

Introdução

O VBA disponibiliza uma forma de emitir mensagens personalizadas para o usuário através

da função MsgBox, permitindo incluse alterar uma série de suas configurações.

Desta vez, analisaremos uma das características da MsgBox que é analisar seu retorno, que

é informado pelo usuário o clicar em um dos botões disponíveis na caixa de mensagem.

Este recurso é útil quando se deseja fazer questões aos usuários. A resposta da questão virá

das opções oferecidas a ele pelo MsgBox.

Começaremos sabendo como analisar o retorno da MsgBox. Veja o código de exemplo:

O resultado da execução do código serão duas caixas de mensagem na seguinte sequência

(clicando em OK em cada uma delas):

O que vale notar aqui é o seguinte. Pelo fato de termos informado o parâmetro Button

como vbOkOnly, o único botão oferecido ao usuário foi o botão OK, o resultado não

poderia sido outro que não um. Vamos relembrar a tabela de valores retornados pelo

MsgBox:

Valores retornados

Page 2: Msgbox Macros

20/11/13 Cavalcante Consultores – Treinamento e consultoria

www.cavalcanteassociados.com.br/article.php?id=638 2/4

Segundo a tabela, ao acionar o botão OK, o usuário está informando ao VBA um tipo de

retorno com o valor 1 que correnpondente à contante vbOK. Vamos mudar o parâmetro

Button para vbYesNo e verificar a execução do código:

O resultado:

Note que mais opções foram oferecidas ao usuário. Agora clique no botão 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 função novamente, só que desta vez, clique na opção Não:

Page 3: Msgbox Macros

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 usuário e facilmente oferecer-lhe

opções a respeito desta questão e analisar suas resposta. Experimente alterar o parâmetro

Button da chamada ao MsgBox e veja o resultado informado.

Tornando o recurso útil

Vimos que é possível oferecer ao usuário uma série de alternativas de escolha em conjunto

a uma mensagem com o MsgBox. Veremos agora um exemplo simples de como analisar o

retorno da função MsgBox para tomar decisões nos aplicativos VBA.

Veja o seguinte trecho de código:

Veja que não é necessário gravar ou mesmo analisar o valor numérico do retorno do

MsgBox. O VBA disponibiliza as constantes nomeadas, como vbYes, vbNo, vbOK para que

seja possível fazer uma produção e leitura mais organizada do código.

Na linha 6, é declarada a variável resultado do tipo VbMsgBoxResult que armazenará o

resultado da MsgBox. Na linha 4 acontece a chamada à MsgBox. Quando o usuário clicar

em uma das opções mostrada, o VBA armazenará o retorno na variável resultado.

Em seguida, usa-se a estrutura If...Then...Else para avaliar o resultado da função. Veja que

a comparação é feita com a contante vbYes. Como o código deseja confirmar a ação do

usuário, este analisa o resultado de mostra a mensagem pertinente, Veja o resultado da

execução do código:

Page 4: Msgbox Macros

20/11/13 Cavalcante Consultores – Treinamento e consultoria

www.cavalcanteassociados.com.br/article.php?id=638 4/4

Ao clicar no botão Sim, o seguinte resultado é mostrado:

Como o resultado do MsgBox ao clicar no boatão sim é o valor de vbYes, o código executa

a mensagem da linha 5.

Se executar o código novamente e clicar no botão Não, o resultado será:

Desta vez, a linha executada pelo código foi a de número 7.

Com estes recursos, é possível oferecer o usuário praticamente todos os tipos de opção

disponibilizados pelo Microsoft Windows em todas as situações. Você pode oferecer

opções como Anular/Repetir/Ignorar, Sim/Não/Cancelar, entre outras

Comentários

Vimos que o MsgBox oferece mais recurso além da simples exibição de mensagens. Tendo

conhecimento de todas as possibilidades da função, você terá em mãos uma poderosa

ferramenta para resolver praticamente todas as situações de decisçao que surgirem no

desenvolvimento de seus aplicativos.

Cavalcante Consultores – soluções de treinamento e consultoria

Av. Paulista, 2006, cj. 703/705, CEP 01310-926 – São Paulo, SP

Telefone: (11) 3524 9222