A megjegyzéseket végigolvasva láttam néhány olvasói kérdést, hogy hogyan kell dolgozni a Visual Basic beviteli és üzenetmezőkkel a PowerPointban.
Ebben az oktatóanyagban olyan alapvető alapvető ismereteket nyújtunk, amelyek segítségével a prezentációkészítés automatizálása során használhatja ezeket a képességeket.
A Fejlesztői lap beállítása
Először is engedélyeznünk kell a PowerPoint fejlesztői környezetét. Kövesse ezt az oktatóanyagot a fejlesztési lap beállításához.
A PowerPointban lépjen a Fejlesztő menübe, és nyomja meg a Visual Basic gombot.
A projektfán kattintson jobb gombbal a prezentációra, nyomja meg a Beszúrás gombot, majd válassza a Modul lehetőséget. Létrejön egy új VBA-modul, ez az a hely, ahová a kódot kell írni.
Üzenetdobozok a PowerPointban
Az üzenődobozok egyfajta magától értetődőek, céljuk, hogy hasznos információkat jelenítsenek meg a végfelhasználó számára. Írja be a következő kódot a moduljába:
Sub simplemessagebox()
MsgBox ("This is a simple message box")
End Sub
Nyomja meg az F5-öt vagy a Futtatást, és nézze meg az eredményt:

Üzenet és beviteli doboz példa
Az Message Boxokkal ellentétben a beviteli mezőket arra használják, hogy visszajelzést kapjanak a felhasználótól. Nézzük az alábbi példát. A szkript automatikusan beszúrja az új diákat a prezentációba.
A következőket fogjuk megvalósítani:
- Először megkérjük a felhasználót, hogy adja meg a hozzáadandó diák számát (egy beviteli mező használatával).
- Ezután értesítjük a felhasználót a létrehozandó diák számáról (üzenődoboz segítségével).
- Végül folytatja, és programozottan hozza létre a diákat.
- Végül elmentjük a módosított prezentációt
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
Remélhetőleg ez segített, ha szükséges, nyugodtan írjon megjegyzéseket.
Ellenőrizze az MsgBox függvény által visszaadott értékeket
Amikor az MsgBox párbeszédpanel megjelenik a felhasználói interakcióhoz, és szeretné tudni, hogy a felhasználó melyik opcióra kattintott, a következő kód segítségével ellenőrizheti, hogy:
A kód ellenőrzi, hogy a felhasználó melyik gombot választja az MsgBoxon
Az egyes felhasználók választásának megfelelően folytathatja a különböző kódok futtatását, ezeket a VBA-kódokat, amelyeket VBA-tanfolyamokon tanulhat vezető szakértőkkel a Excel Online tanulásban.
Támogatja az MsgBox az ékezetes vietnami nyelvet? A válasz nem, miért? Mert a Microsoft így programozta. De van más út? A válasz igen, elolvashatja az ékezetes vietnami nyelv használata az MsgBox VBA-val című cikket
A cikkben található összes kód a Gist-nél látható:
| |
Sub HeoBasicMessageBox() |
| |
MsgBox "Xin chao cac ban da den voi Hoc Excel Online" |
| |
Vége Sub |
| |
|
| |
Sub HeoBasicMessageBoxWithTitle() |
| |
MsgBox "Xin chao cac ban da den voi Hoc Excel Online", , "HEO" |
| |
Vége Sub |
| |
|
| |
Sub HeoBasicMessageBox2() |
| |
MsgBox "Hoc Excel Online", _ |
| |
vbOKCancel + _ |
| |
vbCritical +_ |
| |
vbDefaultButton1 + _ |
| |
vbApplicationModal |
| |
Vége Sub |
| |
|
| |
Sub HeoBasicMessageBox3() |
| |
MsgBox "Hoc Excel Online", _ |
| |
vbOKCancel + _ |
| |
vbCritical +_ |
| |
vbDefaultButton1 + _ |
| |
vbSystemModal |
| |
Vége Sub |
| |
|
| |
Sub HeoMsgBoxResult1() |
| |
Halvány válasz VbMsgBoxResultként |
| |
|
| |
válasz = MsgBox("Hoc Excel Online", vbYesNo + vbCritical) |
| |
MsgBox válasz |
| |
Vége Sub |
| |
|
| |
Sub HeoMsgBoxResult2() |
| |
Halvány válasz VbMsgBoxResultként |
| |
|
| |
válasz = MsgBox("Hoc Excel Online", vbYesNo + vbQuestion) |
| |
MsgBox válasz |
| |
Vége Sub |
| |
|
| |
Sub HeoMsgBoxResult3() |
| |
Halvány válasz VbMsgBoxResultként |
| |
|
| |
válasz = MsgBox("Hoc Excel Online", vbYesNo + vbClamation) |
| |
MsgBox válasz |
| |
|
| |
Vége Sub |
| |
|
| |
Sub HeoMsgBoxResult4() |
| |
Halvány válasz VbMsgBoxResultként |
| |
|
| |
válasz = MsgBox("Hoc Excel Online", vbYesNo + vbInformation) |
| |
MsgBox válasz |
| |
Vége Sub |
| |
|
| |
Sub HeoMsgBoxResult5() |
| |
Halvány válasz VbMsgBoxResultként |
| |
válasz = MsgBox("Hiba", vbAbortRetryIgnore + vbDefaultButton1 + vbMsgBoxHelpButton) |
| |
MsgBox válasz |
| |
Vége Sub |
| |
|
| |
Sub HeoMsgBoxResult6() |
| |
Halvány válasz VbMsgBoxResultként |
| |
válasz = MsgBox("Hiba", vbAbortRetryIgnore + vbDefaultButton2 + vbMsgBoxHelpButton) |
| |
MsgBox válasz |
| |
Vége Sub |
| |
|
| |
Sub HeoMsgBoxResult7() |
| |
Halvány válasz VbMsgBoxResultként |
| |
válasz = MsgBox("Hiba", vbAbortRetryIgnore + vbDefaultButton3 + vbMsgBoxHelpButton) |
| |
MsgBox válasz |
| |
Vége Sub |
| |
|
| |
Sub HeoMsgBoxResult8() |
| |
Halvány válasz VbMsgBoxResultként |
| |
válasz = MsgBox("Hiba", vbAbortRetryIgnore + vbDefaultButton4 + vbMsgBoxHelpButton) |
| |
MsgBox válasz |
| |
Vége Sub |
| |
|
| |
Sub HeoMsgBoxResult9() |
| |
Halvány válasz VbMsgBoxResultként |
| |
válasz = MsgBox("Szeretné újrapróbálni?", vbRetryCancel + vbQuestion, "Hiba") |
| |
MsgBox válasz |
| |
Vége Sub |
| |
|
| |
Sub HeoMsgBoxResult10() |
| |
MsgBox "Kritikus hiba történt", vbCritical, "Rendszerhiba" |
| |
Vége Sub |