Função MsgBox

Exibe uma mensagem na caixa de diálogo, espera que o usuário clique em um botão e retorna um Inteiro indicando em que botão o usuário clicou.

Observação

Interessado em desenvolver soluções que ampliem a experiência do Office em várias plataformas? Confira o novo modelo de Suplementos do Office. Os suplementos do Office ocupam um pequeno espaço em comparação com os suplementos e as soluções do VSTO, e você pode criá-los usando quase qualquer tecnologia de programação da Web, como o HTML5, JavaScript, CSS3 e XML.

Sintaxe

CaixaDeMensagem(prompt, [ botões ], [ título ], [ arquivo de ajuda, contexto ])

A sintaxe da função MsgBox possui estes argumentos nomeados:

Parte Descrição
prompt Obrigatório. Expressão de cadeia de caracteres exibida como a mensagem na caixa de diálogo. O comprimento máximo de prompt é aproximadamente 1024 caracteres, dependendo da largura dos caracteres usados. Se prompt consistir de mais de uma linha, você poderá separar as linhas usando um caractere de retorno de carro (Chr(13)), um caractere de avanço de linha (Chr(10)), ou combinação de caracteres de retorno de carro e avanço de linha (Chr(13) e Chr(10)) entre cada linha.
buttons Opcional. Expressão numérica que é a combinação de valores que especificam o número e o tipo de botões a serem exibidos, o estilo do ícone a ser usado, a identidade do botão padrão e a modalidade da caixa de mensagem. Caso seja omitido, o valor padrão de buttons será 0.
title Opcional. Cadeia de caracteres exibida na barra de título da caixa de diálogo de expressão. Se você omitir title, o nome do aplicativo é colocado na barra de título.
helpfile Opcional. Expressão de cadeia de caracteres que identifica o arquivo de ajuda a usar para oferecer ajuda contextual para a caixa de diálogo. Se helpfile for fornecido, context também deve ser fornecido.
context Opcional. Expressão numérica que é o número de contexto da Ajuda atribuído ao tópico da Ajuda apropriado pelo autor da Ajuda. Se context for fornecido, helpfile também deve ser fornecido.

Configurações

As configurações doargumento de botões são:

Constant Valor Descrição
vbOKOnly 0 Exibe apenas o botão OK.
vbOKCancel 1 Exibe os botões OK e Cancelar.
vbAbortRetryIgnore 2 Exibe os botões Abortar, Repetir e Ignorar.
vbYesNoCancel 3 Exibe os botões Sim, Não e Cancelar.
vbYesNo 4 Exibe os botões Sim e Não.
vbRetryCancel 5 Exibir os botões Repetir e Cancelar.
vbCritical 16 Exibe o ícone Mensagem Crítica.
vbQuestion 32 Exibe o ícone Consulta de Aviso.
vbExclamation 48 Exibe o ícone Mensagem de Aviso.
vbInformation 64 Exibe o ícone Mensagem Informativa.
vbDefaultButton1 0 O primeiro botão é o padrão
vbDefaultButton2 256 O segundo botão é o padrão
vbDefaultButton3 512 O terceiro botão é o padrão
vbDefaultButton4 768 O quarto botão é o padrão
vbApplicationModal 0 Aplicativo modal; o usuário deve responder à caixa de mensagem antes de continuar trabalhando no aplicativo atual.
vbSystemModal 4096 Sistema modal; todos os aplicativos são suspensos até que o usuário responda à caixa de mensagem.
vbMsgBoxHelpButton 16384 Adiciona o botão Ajuda à caixa de mensagem.
vbMsgBoxSetForeground 65536 Especifica a janela de caixa de mensagem como janela em primeiro plano.
vbMsgBoxRight 524288 O texto é alinhado à direita.
vbMsgBoxRtlReading 1048576 Especifica que o texto deve ser lido da direita para a esquerda nos sistemas árabe e hebraico.

O primeiro grupo de valores (0-5) descreve o número e o tipo dos botões exibidos na caixa de diálogo; o segundo grupo (16, 32, 48, 64) descreve o estilo dos ícones; o terceiro grupo (0, 256, 512) determina qual botão é o padrão; e o quarto grupo (0, 4096) determina a modalidade da caixa de mensagens. Ao combinar números para criar um valor final para o argumento de botões, use apenas um número de cada grupo.

Observação

Essas constantes são especificadas por Visual Basic for Applications na enumeração VbMsgBoxStyle. Como resultado, os nomes podem ser usados em qualquer lugar no seu código substituindo os valores reais.

Valores de retorno

Os valores retornados são definidos na enumeração VbMsgBoxResult .

Constant Valor Descrição
vbOK 1 OK
vbCancel 2 Cancel
vbAbort 3 Anular**
vbRetry 4 repetir
vbIgnore 5 Ignore
vbYes 6 Sim
vbNo 7 Não

Comentários

Quando tanto helpfile quanto context forem fornecidos, o usuário poderá pressionar F1 (Windows) ou HELP (Macintosh) para exibir o tópico da Ajuda correspondente ao context. Alguns aplicativos host, como o Microsoft Excel, também adicionam automaticamente um botão Ajuda à caixa de diálogo.

Se a caixa de diálogo exibir um botão Cancelar, pressionar a tecla Esc equivale a clicar em Cancelar. Se a caixa de diálogo contiver um botão Ajuda, ajuda contextual é fornecida para a caixa de diálogo. No entanto, nenhum valor será retornado até um dos outros botões ser clicado.

Observação

Para especificar mais do que o primeiro argumento nomeado, você deve usar MsgBox em uma expressão. Para omitir alguns argumentos posicionais, você deve incluir o delimitador de vírgula correspondente.

Exemplo

Este exemplo usa a função MsgBox para exibir uma mensagem de erro crítico na caixa de diálogo com os botões Sim e Não. O botão Não é especificado como a resposta padrão. O valor retornado pela função MsgBox varia de acordo com o botão escolhido pelo usuário. Este exemplo supõe que DEMO.HLP é um arquivo de Ajuda com um tópico com um número de contexto de Ajuda igual a 1000.

Dim Msg, Style, Title, Help, Ctxt, Response, MyString
Msg = "Do you want to continue ?"    ' Define message.
Style = vbYesNo Or vbCritical Or vbDefaultButton2    ' Define buttons.
Title = "MsgBox Demonstration"    ' Define title.
Help = "DEMO.HLP"    ' Define Help file.
Ctxt = 1000    ' Define topic context. 
        ' Display message.
Response = MsgBox(Msg, Style, Title, Help, Ctxt)
If Response = vbYes Then    ' User chose Yes.
    MyString = "Yes"    ' Perform some action.
Else    ' User chose No.
    MyString = "No"    ' Perform some action.
End If

Confira também

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.