¿Cómo trabajar con cuadros de mensaje y entrada en PowerPoint VBA?

¿Cómo trabajar con cuadros de mensaje y entrada en PowerPoint VBA?

Al revisar los comentarios, he visto un par de preguntas de los lectores sobre cómo trabajar con cuadros de entrada y mensajes de Visual Basic en PowerPoint.

En este tutorial, proporcionaremos un conocimiento básico muy básico para ayudarlo a usar esas capacidades al automatizar la creación de su presentación.

Configuración de la pestaña Desarrollador

En primer lugar, necesitaremos habilitar el entorno de desarrollo para PowerPoint. Siga este tutorial para configurar su pestaña de desarrollo.

En PowerPoint, vaya al menú Desarrollador y presione Visual Basic.

En el árbol del proyecto, haga clic derecho en su presentación, presione Insertar y luego elija Módulo. Se creará un nuevo Módulo VBA, ese es el lugar en el que escribirá su código.

Cuadros de mensaje en PowerPoint

Los cuadros de mensaje se explican por sí mismos, su objetivo es mostrar información útil para el usuario final. Escribe el siguiente código en tu Módulo:

Sub simplemessagebox()
MsgBox ("This is a simple message box")
End Sub

Pulse F5 o Ejecutar y vea el resultado:

¿Cómo trabajar con cuadros de mensaje y entrada en PowerPoint VBA?

Ejemplo de mensaje y cuadro de entrada

A diferencia de los cuadros de mensaje, los cuadros de entrada se utilizan para obtener comentarios del usuario. Veamos el ejemplo a continuación. El guión inserta automáticamente nuevas diapositivas en la presentación.

Esto es lo que implementaremos:

  1. Primero le pediremos al usuario la cantidad de diapositivas que desea agregar (usando un cuadro de entrada).
  2. Luego, notificaremos al usuario sobre la cantidad de diapositivas que se crearán (usando un cuadro de mensaje)
  3. Por último, seguirá adelante y creará las diapositivas mediante programación.
  4. Por último, guardaremos la presentación modificada.


Sub CreateSlidesMessage()

Dim NumSlides As Integer
Dim MsgResult As VbMsgBoxResult

' How many slides to create
NumSlides = InputBox("Enter number of slides to create", "Create Slides")

'User confirmation
MsgResult = MsgBox("Powerpoint will create " & NumSlides & " slides. Proceed?", vbApplicationModal, "Create Slides")

'create the slides
If MsgResult = vbOK Then
    For i = 1 To NumSlides
        Set NewSlide = ActivePresentation.Slides.Add(Index:=i + 1, Layout:=ppLayoutBlank)
    Next i
    'Save the Presentation
    ActivePresentation.SaveAs("Your Presentation.pptx")
    MsgBox ("Presentation Saved.")
End If

End Sub

Con suerte, eso ayudó, siéntase libre de dejar comentarios según sea necesario.

Verifique los valores devueltos por la función MsgBox

Cuando aparece el cuadro de diálogo MsgBox para la interacción del usuario, desea saber en qué opción hizo clic el usuario, puede usar el siguiente código para verificarlo:

El código verifica qué botón elige el usuario en MsgBox

De acuerdo con la elección de cada usuario, puede continuar ejecutando diferentes códigos; estos códigos VBA los puede aprender en cursos de VBA con los principales expertos en Aprenda Excel en línea.

¿MsgBox admite vietnamita con acento? La respuesta es no, ¿por qué? Porque Microsoft lo programó así. ¿Pero hay alguna otra manera? La respuesta es sí, puedes leer el artículo Usando vietnamita con acento con MsgBox VBA

Todo el código del artículo lo puedes ver en Gist:

  SubHeoBasicMessageBox()
  MsgBox "Xin chao cac ban da den voi Hoc Excel Online"
  Subtítulo final
   
  SubHeoBasicMessageBoxWithTitle()
  MsgBox "Xin chao cac ban da den voi Hoc Excel Online", , "HEO"
  Subtítulo final
   
  SubHeoBasicMessageBox2()
  MsgBox "Hoc Excel Online", _
  vbOKCancelar + _
  vbCrítico + _
  vbDefaultButton1 + _
  vbAplicaciónModal
  Subtítulo final
   
  SubHeoBasicMessageBox3()
  MsgBox "Hoc Excel Online", _
  vbOKCancelar + _
  vbCrítico + _
  vbDefaultButton1 + _
  vbSistemaModal
  Subtítulo final
   
  SubHeoMsgBoxResult1()
  Respuesta tenue como VbMsgBoxResult
   
  respuesta = MsgBox("Hoc Excel Online", vbYesNo + vbCritical)
  respuesta de cuadro de mensaje
  Subtítulo final
   
  SubHeoMsgBoxResult2()
  Respuesta tenue como VbMsgBoxResult
   
  respuesta = MsgBox("Hoc Excel Online", vbSíNo + vbPregunta)
  respuesta de cuadro de mensaje
  Subtítulo final
   
  SubHeoMsgBoxResult3()
  Respuesta tenue como VbMsgBoxResult
   
  respuesta = MsgBox("Hoc Excel Online", vbYesNo + vbExclamation)
  respuesta de cuadro de mensaje
   
  Subtítulo final
   
  SubHeoMsgBoxResult4()
  Respuesta tenue como VbMsgBoxResult
   
  respuesta = MsgBox("Hoc Excel Online", vbSíNo + vbInformación)
  respuesta de cuadro de mensaje
  Subtítulo final
   
  SubHeoMsgBoxResult5()
  Respuesta tenue como VbMsgBoxResult
  respuesta = MsgBox("Error", vbAbortRetryIgnore + vbDefaultButton1 + vbMsgBoxHelpButton)
  respuesta de cuadro de mensaje
  Subtítulo final
   
  SubHeoMsgBoxResult6()
  Respuesta tenue como VbMsgBoxResult
  respuesta = MsgBox("Error", vbAbortRetryIgnore + vbDefaultButton2 + vbMsgBoxHelpButton)
  respuesta de cuadro de mensaje
  Subtítulo final
   
  SubHeoMsgBoxResult7()
  Respuesta tenue como VbMsgBoxResult
  respuesta = MsgBox("Error", vbAbortRetryIgnore + vbDefaultButton3 + vbMsgBoxHelpButton)
  respuesta de cuadro de mensaje
  Subtítulo final
   
  Sub HeoMsgBoxResult8()
  Respuesta tenue como VbMsgBoxResult
  respuesta = MsgBox("Error", vbAbortRetryIgnore + vbDefaultButton4 + vbMsgBoxHelpButton)
  respuesta de cuadro de mensaje
  Subtítulo final
   
  SubHeoMsgBoxResult9()
  Respuesta tenue como VbMsgBoxResult
  respuesta = MsgBox("¿Quieres volver a intentarlo?", vbRetryCancel + vbQuestion, "Error")
  respuesta de cuadro de mensaje
  Subtítulo final
   
  SubHeoMsgBoxResult10()
  MsgBox "Ocurrió un error crítico", vbCritical, "Error del sistema"
  Subtítulo final

Jengibre 2.7.53.0

Jengibre 2.7.53.0

Ginger es un corrector ortográfico y gramatical gratuito.

Bloques

Bloques

Blocks es un juego intelectual para que los alumnos de 3º de primaria practiquen sus habilidades de detección y visión y está incluido por los profesores en el programa de apoyo a la enseñanza de TI.

Prezi 6.26

Prezi 6.26

Prezi es una aplicación gratuita que te permite crear presentaciones digitales, tanto online como offline.

Matemáticas

Matemáticas

Mathway es una aplicación muy útil que puede ayudarte a resolver todos aquellos problemas matemáticos que requieren una herramienta más compleja que la calculadora integrada en tu dispositivo.

Presentador de Adobe

Presentador de Adobe

Adobe Presenter es un software de aprendizaje electrónico lanzado por Adobe Systems y disponible en la plataforma Microsoft Windows como un complemento de Microsoft PowerPoint.

Tucán 2.3.0

Tucán 2.3.0

Toucan es una plataforma tecnológica educativa. Le permite aprender un nuevo idioma mientras navega por sitios web comunes y cotidianos.

ESetViet 24.2

ESetViet 24.2

eNetViet es una aplicación que ayuda a conectar a los padres con la escuela donde estudian sus hijos para que puedan comprender claramente la situación de aprendizaje actual de sus hijos.

Duolingo

Duolingo

Duolingo - Aprende Idiomas Gratis, o simplemente Duolingo, es un programa educativo que te permite aprender y practicar muchos idiomas diferentes.

Escritura rápida

Escritura rápida

RapidTyping es una herramienta de entrenamiento de teclado conveniente y fácil de usar que lo ayudará a mejorar su velocidad de escritura y reducir los errores ortográficos. Con lecciones organizadas para muchos niveles diferentes, RapidTyping le enseñará cómo escribir o mejorar sus habilidades existentes.

Matemáticas 7.4.10.53

Matemáticas 7.4.10.53

MathType es un software de ecuaciones interactivas del desarrollador Design Science (Dessci), que le permite crear y anotar notaciones matemáticas para procesamiento de textos, presentaciones, aprendizaje electrónico, etc. Este editor también se utiliza para crear documentos TeX, LaTeX y MathML.