Når jeg gennemgår kommentarerne, har jeg set et par læserspørgsmål om, hvordan man arbejder med Visual Basic-input- og meddelelsesbokse i PowerPoint.
I dette selvstudium giver vi en meget grundlæggende grundlæggende viden til at hjælpe dig med at bruge disse muligheder, når du automatiserer din præsentationsoprettelse.
Opsætning af fanen Udvikler
Først og fremmest skal vi aktivere udviklermiljøet for PowerPoint. Følg denne vejledning for at konfigurere din udviklingsfane.
I PowerPoint skal du gå til Udviklermenuen og trykke på Visual Basic.
I projekttræet skal du højreklikke på din præsentation, trykke på Indsæt og derefter vælge Modul. Et nyt VBA-modul vil blive oprettet, det er det sted, hvor du vil skrive din kode.
Meddelelsesbokse i PowerPoint
Beskedbokse er lidt selvforklarende, deres mål er at vise nogle nyttige oplysninger til slutbrugeren. Skriv følgende kode i dit modul:
Sub simplemessagebox()
MsgBox ("This is a simple message box")
End Sub
Tryk på F5 eller Kør og se resultatet:

Eksempel på besked og inputboks
I modsætning til beskedbokse bruges inputbokse for at få feedback fra brugeren. Lad os se på eksemplet nedenfor. Scriptet indsætter automatisk nye dias til præsentationen.
Her er, hvad vi implementerer:
- Vi beder først brugeren om antallet af dias, der skal tilføjes (ved hjælp af en inputboks).
- Vi giver derefter brugeren besked om antallet af dias, der skal oprettes (ved hjælp af en beskedboks)
- Sidst, vil gå videre og oprette slides programmatisk.
- Til sidst gemmer vi den ændrede præsentation
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
Forhåbentlig hjalp det, du er velkommen til at efterlade kommentarer efter behov.
Kontroller de værdier, der returneres fra MsgBox-funktionen
Når MsgBox-dialogboksen dukker op for brugerinteraktion, vil du vide, hvilken mulighed brugeren klikkede på, kan du bruge følgende kode til at kontrollere, at:
Koden kontrollerer, hvilken knap brugeren vælger på MsgBox
Svarer til hver brugers valg, kan du fortsætte med at køre forskellige koder, disse VBA-koder kan du lære på VBA-kurser med førende eksperter på Lær Excel Online.
Understøtter MsgBox vietnamesisk med accent? Svaret er nej, hvorfor? Fordi Microsoft programmerede det sådan. Men er der en anden måde? Svaret er ja, du kan læse artiklen Using accented Vietnamese with MsgBox VBA
Al koden i artiklen kan du se hos Gist:
| |
Sub HeoBasicMessageBox() |
| |
MsgBox "Xin chao cac ban da den voi Hoc Excel Online" |
| |
Slut Sub |
| |
|
| |
Sub HeoBasicMessageBoxWithTitle() |
| |
MsgBox "Xin chao cac ban da den voi Hoc Excel Online", , "HEO" |
| |
Slut Sub |
| |
|
| |
Sub HeoBasicMessageBox2() |
| |
MsgBox "Hoc Excel Online", _ |
| |
vbOKCancel + _ |
| |
vbCritical + _ |
| |
vbDefaultButton1 + _ |
| |
vbApplicationModal |
| |
Slut Sub |
| |
|
| |
Sub HeoBasicMessageBox3() |
| |
MsgBox "Hoc Excel Online", _ |
| |
vbOKCancel + _ |
| |
vbCritical + _ |
| |
vbDefaultButton1 + _ |
| |
vbSystemModal |
| |
Slut Sub |
| |
|
| |
Sub HeoMsgBoxResult1() |
| |
Dim respons Som VbMsgBoxResult |
| |
|
| |
respons = MsgBox("Hoc Excel Online", vbYesNo + vbCritical) |
| |
MsgBox-svar |
| |
Slut Sub |
| |
|
| |
Sub HeoMsgBoxResult2() |
| |
Dim respons Som VbMsgBoxResult |
| |
|
| |
svar = MsgBox("Hoc Excel Online", vbYesNo + vbQuestion) |
| |
MsgBox-svar |
| |
Slut Sub |
| |
|
| |
Sub HeoMsgBoxResult3() |
| |
Dim respons Som VbMsgBoxResult |
| |
|
| |
svar = MsgBox("Hoc Excel Online", vbYesNo + vbExclamation) |
| |
MsgBox-svar |
| |
|
| |
Slut Sub |
| |
|
| |
Sub HeoMsgBoxResult4() |
| |
Dim respons Som VbMsgBoxResult |
| |
|
| |
respons = MsgBox("Hoc Excel Online", vbYesNo + vbInformation) |
| |
MsgBox-svar |
| |
Slut Sub |
| |
|
| |
Sub HeoMsgBoxResult5() |
| |
Dim respons Som VbMsgBoxResult |
| |
respons = MsgBox("Error", vbAbortRetryIgnore + vbDefaultButton1 + vbMsgBoxHelpButton) |
| |
MsgBox-svar |
| |
Slut Sub |
| |
|
| |
Sub HeoMsgBoxResult6() |
| |
Dim respons Som VbMsgBoxResult |
| |
respons = MsgBox("Error", vbAbortRetryIgnore + vbDefaultButton2 + vbMsgBoxHelpButton) |
| |
MsgBox-svar |
| |
Slut Sub |
| |
|
| |
Sub HeoMsgBoxResult7() |
| |
Dim respons Som VbMsgBoxResult |
| |
respons = MsgBox("Error", vbAbortRetryIgnore + vbDefaultButton3 + vbMsgBoxHelpButton) |
| |
MsgBox-svar |
| |
Slut Sub |
| |
|
| |
Sub HeoMsgBoxResult8() |
| |
Dim respons Som VbMsgBoxResult |
| |
respons = MsgBox("Error", vbAbortRetryIgnore + vbDefaultButton4 + vbMsgBoxHelpButton) |
| |
MsgBox-svar |
| |
Slut Sub |
| |
|
| |
Sub HeoMsgBoxResult9() |
| |
Dim respons Som VbMsgBoxResult |
| |
response = MsgBox("Vil du prøve igen?", vbRetryCancel + vbQuestion, "Fejl") |
| |
MsgBox-svar |
| |
Slut Sub |
| |
|
| |
Sub HeoMsgBoxResult10() |
| |
MsgBox "Kritisk fejl opstod", vbCritical, "Systemfejl" |
| |
Slut Sub |