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 definições de argumentodos 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
Estas 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 devolvidos 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.