Com treballar amb els quadres de missatges i dentrada a PowerPoint VBA?

Revisant els comentaris, he vist un parell de preguntes dels lectors sobre com treballar amb Visual Basic entrades i quadres de missatges a PowerPoint.

En aquest tutorial us proporcionarem uns coneixements bàsics bàsics per ajudar-vos a utilitzar aquestes capacitats a l'hora d'automatitzar la creació de presentacions.

Configuració de la pestanya Desenvolupador

En primer lloc, haurem d'habilitar l'entorn de desenvolupador per a PowerPoint. Seguiu aquest tutorial per configurar la vostra pestanya de desenvolupament.

A PowerPoint, aneu al menú Desenvolupador i premeu Visual Basic.

A l'arbre del projecte, feu clic amb el botó dret a la vostra presentació, premeu Insereix i, a continuació, seleccioneu Mòdul. Es crearà un nou mòdul VBA, aquest és el lloc on escriureu el vostre codi.

Caixes de missatges a PowerPoint

Els quadres de missatges s'explicaran per si mateixos, el seu objectiu és mostrar informació útil a l'usuari final. Escriviu el codi següent al vostre mòdul:

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

Premeu F5 o Executar i vegeu el resultat:

Com treballar amb els quadres de missatges i d'entrada a PowerPoint VBA?

Exemple de bústia de missatges i d'entrada

A diferència dels quadres de missatges, els quadres d'entrada s'utilitzen per obtenir comentaris de l'usuari. Vegem l'exemple següent. El guió insereix automàticament noves diapositives a la presentació.

Això és el que implementarem:

  1. Primer demanarem a l'usuari el nombre de diapositives que cal afegir (utilitzant un quadre d'entrada).
  2. A continuació, notificarem a l'usuari el nombre de diapositives que s'han de crear (amb un quadre de missatges)
  3. Per últim, seguirà endavant i crearà les diapositives amb programació.
  4. Per últim desarem la presentació 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

Tant de bo t'hagi ajudat, no dubteu a deixar els comentaris que calgui.

Comproveu els valors retornats per la funció MsgBox

Quan aparegui el quadre de diàleg MsgBox per a la interacció de l'usuari, voleu saber quina opció ha fet clic l'usuari, podeu utilitzar el codi següent per comprovar-ho:

El codi comprova quin botó tria l'usuari a MsgBox

Corresponent a l'elecció de cada usuari, podeu continuar executant codis diferents, aquests codis VBA, podeu aprendre en cursos de VBA amb experts destacats a Aprèn Excel en línia.

MsgBox admet el vietnamita amb accent? La resposta és no, per què? Perquè Microsoft ho va programar així. Però hi ha alguna altra manera? La resposta és sí, podeu llegir l'article Ús del vietnamita accentuat amb MsgBox VBA

Tot el codi de l'article el podeu veure a Gist:

  Sub HeoBasicMessageBox()
  MsgBox "Xin chao cac ban da den voi Hoc Excel Online"
  End Sub
   
  Sub HeoBasicMessageBoxWithTitle()
  MsgBox "Xin chao cac ban da den voi Hoc Excel Online", , "HEO"
  End Sub
   
  Sub HeoBasicMessageBox2()
  MsgBox "Hoc Excel Online", _
  vbOKCancel + _
  vbCritical + _
  vbDefaultButton1 + _
  vbApplicationModal
  End Sub
   
  Sub HeoBasicMessageBox3()
  MsgBox "Hoc Excel Online", _
  vbOKCancel + _
  vbCritical + _
  vbDefaultButton1 + _
  vbSystemModal
  End Sub
   
  Sub HeoMsgBoxResult1()
  Resposta atenuada com a VbMsgBoxResult
   
  resposta = MsgBox("Hoc Excel Online", vbYesNo + vbCritical)
  Resposta de MsgBox
  End Sub
   
  Sub HeoMsgBoxResult2()
  Resposta atenuada com a VbMsgBoxResult
   
  resposta = MsgBox("Hoc Excel Online", vbYesNo + vbQuestion)
  Resposta de MsgBox
  End Sub
   
  Sub HeoMsgBoxResult3()
  Resposta atenuada com a VbMsgBoxResult
   
  resposta = MsgBox("Hoc Excel Online", vbYesNo + vbExclamation)
  Resposta de MsgBox
   
  End Sub
   
  Sub HeoMsgBoxResult4()
  Resposta atenuada com a VbMsgBoxResult
   
  resposta = MsgBox("Hoc Excel Online", vbYesNo + vbInformation)
  Resposta de MsgBox
  End Sub
   
  Sub HeoMsgBoxResult5()
  Resposta atenuada com a VbMsgBoxResult
  resposta = MsgBox("Error", vbAbortRetryIgnore + vbDefaultButton1 + vbMsgBoxHelpButton)
  Resposta de MsgBox
  End Sub
   
  Sub HeoMsgBoxResult6()
  Resposta atenuada com a VbMsgBoxResult
  resposta = MsgBox("Error", vbAbortRetryIgnore + vbDefaultButton2 + vbMsgBoxHelpButton)
  Resposta de MsgBox
  End Sub
   
  Sub HeoMsgBoxResult7()
  Resposta atenuada com a VbMsgBoxResult
  resposta = MsgBox("Error", vbAbortRetryIgnore + vbDefaultButton3 + vbMsgBoxHelpButton)
  Resposta de MsgBox
  End Sub
   
  Sub HeoMsgBoxResult8()
  Resposta atenuada com a VbMsgBoxResult
  resposta = MsgBox("Error", vbAbortRetryIgnore + vbDefaultButton4 + vbMsgBoxHelpButton)
  Resposta de MsgBox
  End Sub
   
  Sub HeoMsgBoxResult9()
  Resposta atenuada com a VbMsgBoxResult
  resposta = MsgBox("Vols tornar-ho a provar?", vbRetryCancel + vbQuestion, "Error")
  Resposta de MsgBox
  End Sub
   
  Sub HeoMsgBoxResult10()
  MsgBox "S'ha produït un error crític", vbCritical, "Error del sistema"
  End Sub

Deixa un comentari

Com solucionar l'error d'Outlook que no pot enviar correu però sí rebre'l

Com solucionar l'error d'Outlook que no pot enviar correu però sí rebre'l

Soluciona Outlook quan pots rebre correu però no enviar-lo. Comprova la safata de sortida, el mode sense connexió, l'inici de sessió, la configuració SMTP, els perfils i els canvis de Microsoft 365.

Plantilla Excel senzilla de seguiment de nòmines quinzenals per a equips petits: una guia pràctica de configuració

Plantilla Excel senzilla de seguiment de nòmines quinzenals per a equips petits: una guia pràctica de configuració

Creeu un seguiment de nòmines quinzenal senzill a Excel per a un equip petit, amb hores, salaris, deduccions, indicadors de revisió, resums i orientació sobre la gestió de registres.

Plantilla de presentació de formació d'incorporació senzilla per a nous empleats: Pla pràctic de 12 diapositives

Plantilla de presentació de formació d'incorporació senzilla per a nous empleats: Pla pràctic de 12 diapositives

Creeu una presentació d'incorporació senzilla per a nous empleats amb una estructura pràctica de 12 diapositives que cobreixi les expectatives del lloc, les eines, la seguretat, les polítiques, la seguretat física i les accions de la primera setmana.

Com exportar els contactes de Salesforce a un format Excel net sense trencar els IDs ni els números de telèfon

Com exportar els contactes de Salesforce a un format Excel net sense trencar els IDs ni els números de telèfon

Exporteu els contactes de Salesforce a Excel de manera neta: creeu l'informe adequat, exporteu només els detalls en CSV, importeu amb Power Query, preserveu els IDs i els zeros inicials, elimineu duplicats de manera segura i verifiqueu el resultat.

Plantilla imprimible d'horari de neteja setmanal per a amfitrions d'Airbnb (Word i PDF)

Plantilla imprimible d'horari de neteja setmanal per a amfitrions d'Airbnb (Word i PDF)

Utilitzeu aquest horari de neteja setmanal imprimible per a amfitrions d'Airbnb per organitzar la neteja de canvi d'hostes, tasques de neteja profunda, reposició, comprovacions de seguretat i impressió de Word a PDF.

Plantilla gratuïta de calendari mensual de factures per a Excel: una configuració pràctica per al 2026

Plantilla gratuïta de calendari mensual de factures per a Excel: una configuració pràctica per al 2026

Organitza les factures mensuals a Excel amb un disseny gratuït de calendari de factures, seguiment de dates de venciment, fórmules d'estat, camps de pagament automàtic i consells pràctics de flux de caixa.

Les fórmules d'Excel no es calculen automàticament? Arregla-ho en 3 passos fàcils

Les fórmules d'Excel no es calculen automàticament? Arregla-ho en 3 passos fàcils

Arregla les fórmules d'Excel que no es calculen automàticament en tres passos: activa el càlcul automàtic, recalcula i repara les cel·les de fórmula.

Plantilla de registre de despeses per a contractistes independents per a freelancers als EUA: què registrar el 2026

Plantilla de registre de despeses per a contractistes independents per a freelancers als EUA: què registrar el 2026

Creeu un registre de despeses pràctic per a freelancers als EUA amb categories compatibles amb l'annex C, camps de rebuts, registre de quilometratge i actualitzacions de les normes de l'IRS per al 2026.

Les millors aplicacions gratuïtes de facturació per a petits negocis de serveis als EUA (2026)

Les millors aplicacions gratuïtes de facturació per a petits negocis de serveis als EUA (2026)

Compareu les millors aplicacions gratuïtes de facturació per a negocis de serveis als EUA el 2026, incloent-hi Zoho Invoice, Wave, Square, PayPal i Invoice Ninja.

Plantilla d'Excel gratuïta per al seguiment de despeses i ingressos de propietats en lloguer: Guia per a principiants

Plantilla d'Excel gratuïta per al seguiment de despeses i ingressos de propietats en lloguer: Guia per a principiants

Utilitzeu una plantilla gratuïta d'Excel per al seguiment de propietats en lloguer per organitzar ingressos, despeses, propietats i flux de caixa mensual. Apreneu què registrar, com configurar-la i els errors a evitar.