Come lavorare con messaggi e caselle di input in PowerPoint VBA?

Come lavorare con messaggi e caselle di input in PowerPoint VBA?

Esaminando i commenti, ho visto un paio di domande dei lettori su come lavorare con le caselle di input e messaggi di Visual Basic in PowerPoint.

In questo tutorial forniremo una conoscenza di base di base per aiutarti a utilizzare queste capacità quando automatizza la creazione della presentazione.

Configurazione della scheda Sviluppatore

Prima di tutto, dovremo abilitare l'ambiente di sviluppo per PowerPoint. Segui questo tutorial per impostare la scheda di sviluppo.

In PowerPoint, vai al menu Sviluppatore e premi Visual Basic.

Nell'albero del progetto, fai clic con il pulsante destro del mouse sulla presentazione, premi Inserisci e quindi seleziona Modulo. Verrà creato un nuovo modulo VBA, quello è il luogo in cui scriverai il tuo codice.

Caselle di messaggio in PowerPoint

Le finestre di messaggio sono in qualche modo autoesplicative, il loro obiettivo è mostrare alcune informazioni utili all'utente finale. Scrivi il seguente codice nel tuo modulo:

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

Premi F5 o Esegui e guarda il risultato:

Come lavorare con messaggi e caselle di input in PowerPoint VBA?

Esempio di messaggio e casella di immissione

A differenza delle caselle dei messaggi, le caselle di input vengono utilizzate per ottenere un feedback dall'utente. Diamo un'occhiata all'esempio qui sotto. Lo script inserisce automaticamente nuove diapositive nella presentazione.

Ecco cosa implementeremo:

  1. Per prima cosa chiederemo all'utente il numero di diapositive da aggiungere (usando una casella di input).
  2. Invieremo quindi una notifica all'utente sul numero di diapositive da creare (utilizzando una finestra di messaggio)
  3. Infine, andrà avanti e creerà le diapositive a livello di codice.
  4. Infine salveremo la presentazione modificata


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

Spero che questo abbia aiutato, sentiti libero di lasciare come commenti se necessario.

Controlla i valori restituiti dalla funzione MsgBox

Quando viene visualizzata la finestra di dialogo MsgBox per l'interazione dell'utente, vuoi sapere su quale opzione l'utente ha fatto clic, puoi utilizzare il seguente codice per verificarlo:

Il codice controlla quale pulsante l'utente sceglie su MsgBox

In base alla scelta di ciascun utente, puoi continuare a eseguire codici diversi, questi codici VBA, che puoi apprendere nei corsi VBA con i maggiori esperti su Impara Excel Online.

MsgBox supporta il vietnamita accentato? La risposta è no, perché? Perché Microsoft lo ha programmato in questo modo. Ma esiste un altro modo? La risposta è sì, puoi leggere l'articolo Utilizzo del vietnamita accentato con MsgBox VBA

Tutto il codice nell'articolo che puoi vedere su Gist:

  SubHeoBasicMessageBox()
  MsgBox "Xin chao cac ban da den voi Hoc Excel Online"
  Fine sott
   
  Sub HeoBasicMessageBoxWithTitle()
  MsgBox "Xin chao cac ban da den voi Hoc Excel Online", , "HEO"
  Fine sott
   
  SubHeoBasicMessageBox2()
  MsgBox "Hoc Excel Online", _
  vbOKAnnulla + _
  vbCritico + _
  vbDefaultButton1 + _
  vbApplicationModal
  Fine sott
   
  SubHeoBasicMessageBox3()
  MsgBox "Hoc Excel Online", _
  vbOKAnnulla + _
  vbCritico + _
  vbDefaultButton1 + _
  vbSystemModal
  Fine sott
   
  SubHeoMsgBoxResult1()
  Risposta debole come VbMsgBoxResult
   
  risposta = MsgBox("Hoc Excel Online", vbYesNo + vbCritical)
  Risposta MsgBox
  Fine sott
   
  SubHeoMsgBoxResult2()
  Risposta debole come VbMsgBoxResult
   
  risposta = MsgBox("Hoc Excel Online", vbYesNo + vbQuestion)
  Risposta MsgBox
  Fine sott
   
  Sub HeoMsgBoxResult3()
  Risposta debole come VbMsgBoxResult
   
  risposta = MsgBox("Hoc Excel Online", vbYesNo + vbExclamation)
  Risposta MsgBox
   
  Fine sott
   
  Sub HeoMsgBoxResult4()
  Risposta debole come VbMsgBoxResult
   
  risposta = MsgBox("Hoc Excel Online", vbYesNo + vbInformation)
  Risposta MsgBox
  Fine sott
   
  Sub HeoMsgBoxResult5()
  Risposta debole come VbMsgBoxResult
  risposta = MsgBox("Errore", vbAbortRetryIgnore + vbDefaultButton1 + vbMsgBoxHelpButton)
  Risposta MsgBox
  Fine sott
   
  Sub HeoMsgBoxResult6()
  Risposta debole come VbMsgBoxResult
  risposta = MsgBox("Errore", vbAbortRetryIgnore + vbDefaultButton2 + vbMsgBoxHelpButton)
  Risposta MsgBox
  Fine sott
   
  Sub HeoMsgBoxResult7()
  Risposta debole come VbMsgBoxResult
  risposta = MsgBox("Errore", vbAbortRetryIgnore + vbDefaultButton3 + vbMsgBoxHelpButton)
  Risposta MsgBox
  Fine sott
   
  Sub HeoMsgBoxResult8()
  Risposta debole come VbMsgBoxResult
  risposta = MsgBox("Errore", vbAbortRetryIgnore + vbDefaultButton4 + vbMsgBoxHelpButton)
  Risposta MsgBox
  Fine sott
   
  Sub HeoMsgBoxResult9()
  Risposta debole come VbMsgBoxResult
  risposta = MsgBox("Vuoi riprovare?", vbRetryCancel + vbQuestion, "Errore")
  Risposta MsgBox
  Fine sott
   
  Sub HeoMsgBoxResult10()
  MsgBox "Si è verificato un errore critico", vbCritical, "Errore di sistema"
  Fine sott

Zenzero 2.7.53.0

Zenzero 2.7.53.0

Ginger è un correttore ortografico e grammaticale gratuito.

Blocchi

Blocchi

Blocks è un gioco intellettuale rivolto agli studenti delle scuole elementari di terza elementare per esercitare le proprie capacità di rilevamento e vista ed è incluso dagli insegnanti nel programma di supporto all'insegnamento informatico.

Prezio 6.26

Prezio 6.26

Prezi è un'applicazione gratuita che ti consente di creare presentazioni digitali, sia online che offline.

Mathway

Mathway

Mathway è un'app molto utile che può aiutarti a risolvere tutti quei problemi di matematica che richiedono uno strumento più complesso della calcolatrice integrata nel tuo dispositivo.

Presentatore Adobe

Presentatore Adobe

Adobe Presenter è un software di e-Learning rilasciato da Adobe Systems disponibile sulla piattaforma Microsoft Windows come plug-in di Microsoft PowerPoint.

Tucano 2.3.0

Tucano 2.3.0

Toucan è una piattaforma tecnologica educativa. Ti consente di imparare una nuova lingua mentre navighi su siti Web comuni di tutti i giorni.

ENetViet 24.2

ENetViet 24.2

eNetViet è un'applicazione che aiuta a connettere i genitori con la scuola in cui studiano i loro figli in modo che possano comprendere chiaramente l'attuale situazione di apprendimento dei loro figli.

Duolingo

Duolingo

Duolingo - Impara le lingue gratis, o semplicemente Duolingo, è un programma educativo che ti permette di imparare e praticare molte lingue diverse.

Digitazione rapida

Digitazione rapida

RapidTyping è uno strumento di allenamento per la tastiera comodo e facile da usare che ti aiuterà a migliorare la velocità di digitazione e a ridurre gli errori di ortografia. Con lezioni organizzate per molti livelli diversi, RapidTyping ti insegnerà come digitare o migliorare le competenze esistenti.

MathType 7.4.10.53

MathType 7.4.10.53

MathType è un software di equazioni interattive dello sviluppatore Design Science (Dessci), che consente di creare e annotare notazioni matematiche per l'elaborazione di testi, presentazioni, eLearning, ecc. Questo editor viene utilizzato anche per creare documenti TeX, LaTeX e MathML.