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 Sí, No y Cancelar. |
vbYesNo | 4 | Muestra los botones Sí, 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 | Sí |
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 Sí 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.