Función MsgBox

Muestra un mensaje en un cuadro de diálogo, espera a que el usuario haga clic en un botón y devuelve un Entero que indica el botón en el que el usuario ha hecho clic.

Nota:

¿Le interesa el desarrollo de soluciones que amplían la experiencia de Office en varias plataformas? Vea el nuevo modelo de complementos de Office. Los complementos de Office tienen una huella pequeña en comparación con los complementos y soluciones de VSTO, y se pueden construir utilizando casi cualquier tecnología de programación web, como HTML5, JavaScript, CSS3 y XML.

Sintaxis

MsgBox (prompt, [ buttons, ] [ title, ] [ helpfile, context ])

La sintaxis de la función MsgBox consta de los argumentos con nombre siguientes:

Parte Descripción
prompt Obligatorio. Expresión de cadena que aparece como mensaje en el cuadro de diálogo. La longitud máxima de prompt es de aproximadamente 1024 caracteres, según el ancho de los caracteres utilizados. Si prompt consta de más de una línea, puede separar las líneas mediante un carácter de retorno de carro (Chr(13)), un carácter de salto de línea (Chr(10)) o una combinación de caracteres de retorno (Chr(13)) & (Chr(10)) entre cada línea.
buttons Opcional. Expresión numérica que es la combinación de valores que especifica el número y tipo de botones para mostrar, el estilo de icono para usar, la identidad del botón predeterminado y la modalidad del cuadro de mensaje. Si se omite, el valor predeterminado para buttons es 0.
title Opcional. Expresión de cadena que aparece como barra de titulo en el cuadro de diálogo. Si omite title, el nombre de aplicación se coloca en la barra de título.
helpfile Opcional. Expresión de cadena que identifica el archivo de Ayuda que se usa para proporcionar ayuda contextual para el cuadro de diálogo. Si se proporciona helpfile, también se debe proporcionar context.
context Opcional. Expresión numérica que es el número de contexto de Ayuda asignado al tema correspondiente de la Ayuda por el autor de la misma. Si se proporciona context, también se debe proporcionar helpfile.

Configuración

La configuración del argumentode botones es:

Constante Valor Descripción
vbOKOnly 0 Muestra solo el botón Aceptar.
vbOKCancel 1 Muestra los botones Aceptar y Cancelar
vbAbortRetryIgnore 2 Muestra los botones Anular, Reintentar e Ignorar.
vbYesNoCancel 3 Muestra los botones , No y Cancelar.
vbYesNo 4 Muestra los botones , No.
vbRetryCancel 5 Muestra los botones Reintentar y Cancelar.
vbCritical 16 Muestra el icono Mensaje crítico.
vbQuestion 32 Muestra el icono Consulta de advertencia.
vbExclamation 48 Muestra el icono Mensaje de advertencia.
vbInformation 64 Muestra el icono Mensaje de información.
vbDefaultButton1 0 El primer botón es el valor predeterminado.
vbDefaultButton2 256 El segundo botón es el valor predeterminado.
vbDefaultButton3 512 El tercer botón es el valor predeterminado.
vbDefaultButton4 768 El cuarto botón es el valor predeterminado.
vbApplicationModal 0 Modal de aplicación; el usuario debe responder al cuadro de mensaje antes de continuar trabajando en la aplicación actual.
vbSystemModal 4096 Modal de sistema; todas las aplicaciones se suspenden hasta que el usuario responde al cuadro de mensaje.
vbMsgBoxHelpButton 16384 Agrega el botón Ayuda al cuadro de mensaje.
VbMsgBoxSetForeground 65536 Especifica la ventana del cuadro de mensaje como la ventana en primer plano.
vbMsgBoxRight 524288 Se alinea el texto a la derecha.
vbMsgBoxRtlReading 1048576 Especifica que el texto debe mostrarse de derecha a izquierda en sistemas en hebreo y árabe.

El primer grupo de valores (de 0 a 5) describe el número y el tipo de botones que se muestran en el cuadro de diálogo; el segundo grupo (16, 32, 48, 64) describe el estilo de icono; el tercer grupo (0, 256, 512) determina qué botón es el predeterminado y el cuarto grupo (0, 4096) determina la modalidad del cuadro de mensaje. Al combinar números para crear un valor final para el argumento buttons, use solo un número de cada grupo.

Nota:

Visual Basic para Aplicaciones especifica estas constantes en la enumeración VbMsgBoxStyle . Como resultado, los nombres se pueden usar en cualquier lugar del código en vez de los valores reales.

Valores devueltos

Los valores devueltos se definen en la enumeración VbMsgBoxResult .

Constante Valor Descripción
vbOK 1 Aceptar
vbCancel 2 Cancel
vbAbort 3 Anular
vbRetry 4 Reintentar
vbIgnore 5 Ignore
vbYes 6
vbNo 7 No

Observaciones

Cuando se proporcionan helpfile y context, el usuario puede presionar F1 (Windows) o AYUDA (Macintosh) para ver el tema de Ayuda correspondiente a context. Algunas aplicaciones host, por ejemplo Microsoft Excel, también agregan automáticamente un botón Ayuda al cuadro de diálogo.

Si el cuadro de diálogo muestra un botón Cancelar, presionar la tecla ESC tiene el mismo efecto que hacer clic en Cancelar. Si el cuadro de diálogo contiene un botón Ayuda se proporciona la Ayuda contextual para el cuadro de diálogo. Sin embargo, no se devuelve ningún valor hasta que se haga clic en uno de los otros botones.

Nota:

Para especificar más que el primer argumento con nombre, debe usar MsgBox en una expresión. Para omitir algunos argumentos posicionales, debe incluir el delimitador de coma correspondiente.

Ejemplo

En este ejemplo se usa la función MsgBox para mostrar un mensaje de error grave en un cuadro de diálogo con los botones y No. El botón No botón se especifica como respuesta predeterminada. El valor devuelto por la función MsgBox depende del botón elegido por el usuario. En este ejemplo se supone que DEMO.HLP es un archivo de Ayuda que contiene un tema con un número de contexto de Ayuda 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

Vea también

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.