Peržiūrėdamas komentarus mačiau keletą skaitytojų klausimų, kaip dirbti su „Visual Basic“ įvesties ir pranešimų laukeliais „PowerPoint“.
Šioje pamokoje pateiksime labai pagrindines žinias, kurios padės jums pasinaudoti šiomis galimybėmis automatizuojant pristatymo kūrimą.
Kūrėjo skirtuko nustatymas
Pirmiausia turėsime įgalinti „PowerPoint“ kūrėjo aplinką. Vykdykite šią mokymo programą, kad nustatytumėte kūrimo skirtuką.
„PowerPoint“ eikite į kūrėjo meniu ir paspauskite „Visual Basic“.
Projekto medyje dešiniuoju pelės mygtuku spustelėkite pristatymą, paspauskite Įterpti ir pasirinkite Modulis. Bus sukurtas naujas VBA modulis, kuriame rašysite savo kodą.
„PowerPoint“ pranešimų dėžutės
Pranešimų dėžutės yra savaime suprantamos, jų tikslas yra pateikti naudingos informacijos galutiniam vartotojui. Savo modulyje parašykite šį kodą:
Sub simplemessagebox()
MsgBox ("This is a simple message box")
End Sub
Paspauskite F5 arba Vykdyti ir pamatysite rezultatą:
Pranešimo ir įvesties dėžutės pavyzdys
Skirtingai nei pranešimų dėžutės, įvesties laukeliai naudojami norint gauti vartotojo atsiliepimą. Pažiūrėkime į toliau pateiktą pavyzdį. Scenarijus automatiškai įterpia naujas skaidres į pristatymą.
Štai ką mes įgyvendinsime:
- Pirmiausia paraginsime vartotoją pridėti skaidrių skaičių (naudodami įvesties laukelį).
- Tada informuosime vartotoją apie sukurtų skaidrių skaičių (naudodami pranešimų laukelį)
- Paskutinis, eis į priekį ir skaidres sukurs programiškai.
- Galiausiai išsaugosime pakeistą pristatymą
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
Tikimės, kad tai padėjo, jei reikia, palikite komentarus.
Check the values returned from the MsgBox function
When the MsgBox dialog box pops up for user interaction, you want to know which option the user clicked, you can use the following code to check that:
The code checks what button the user chooses on MsgBox
Corresponding to each user's choice, you can continue to run different codes, these VBA codes, you can learn in VBA courses with leading experts at Learn Excel Online.
Does MsgBox support accented Vietnamese? The answer is no, why? Because Microsoft programmed it like that. But is there any other way? The answer is yes, you can read the article Using accented Vietnamese with MsgBox VBA
All the code in the article you can see at 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() |
|
Dim response As VbMsgBoxResult |
|
|
|
response = MsgBox("Hoc Excel Online", vbYesNo + vbCritical) |
|
MsgBox response |
|
End Sub |
|
|
|
Sub HeoMsgBoxResult2() |
|
Dim response As VbMsgBoxResult |
|
|
|
response = MsgBox("Hoc Excel Online", vbYesNo + vbQuestion) |
|
MsgBox response |
|
End Sub |
|
|
|
Sub HeoMsgBoxResult3() |
|
Dim response As VbMsgBoxResult |
|
|
|
response = MsgBox("Hoc Excel Online", vbYesNo + vbExclamation) |
|
MsgBox response |
|
|
|
End Sub |
|
|
|
Sub HeoMsgBoxResult4() |
|
Dim response As VbMsgBoxResult |
|
|
|
response = MsgBox("Hoc Excel Online", vbYesNo + vbInformation) |
|
MsgBox response |
|
End Sub |
|
|
|
Sub HeoMsgBoxResult5() |
|
Dim response As VbMsgBoxResult |
|
response = MsgBox("Error", vbAbortRetryIgnore + vbDefaultButton1 + vbMsgBoxHelpButton) |
|
MsgBox response |
|
End Sub |
|
|
|
Sub HeoMsgBoxResult6() |
|
Dim response As VbMsgBoxResult |
|
response = MsgBox("Error", vbAbortRetryIgnore + vbDefaultButton2 + vbMsgBoxHelpButton) |
|
MsgBox response |
|
End Sub |
|
|
|
Sub HeoMsgBoxResult7() |
|
Dim response As VbMsgBoxResult |
|
response = MsgBox("Error", vbAbortRetryIgnore + vbDefaultButton3 + vbMsgBoxHelpButton) |
|
MsgBox response |
|
End Sub |
|
|
|
Sub HeoMsgBoxResult8() |
|
Dim response As VbMsgBoxResult |
|
response = MsgBox("Error", vbAbortRetryIgnore + vbDefaultButton4 + vbMsgBoxHelpButton) |
|
MsgBox response |
|
End Sub |
|
|
|
Sub HeoMsgBoxResult9() |
|
Dim response As VbMsgBoxResult |
|
response = MsgBox("Want to try again?", vbRetryCancel + vbQuestion, "Error") |
|
MsgBox response |
|
End Sub |
|
|
|
Sub HeoMsgBoxResult10() |
|
MsgBox "Critical error occurred", vbCritical, "System Error" |
|
End Sub |