Περνώντας τα σχόλια, έχω δει μερικές ερωτήσεις αναγνώστη σχετικά με τον τρόπο εργασίας με τα πλαίσια εισαγωγής και μηνυμάτων της Visual Basic στο PowerPoint.
Σε αυτό το σεμινάριο θα παρέχουμε μια πολύ βασική βασική γνώση που θα σας βοηθήσει να χρησιμοποιήσετε αυτές τις δυνατότητες κατά την αυτοματοποίηση της δημιουργίας παρουσίασής σας.
Ρύθμιση της καρτέλας προγραμματιστή
Αρχικά, θα πρέπει να ενεργοποιήσουμε το περιβάλλον προγραμματιστή για το PowerPoint. Ακολουθήστε αυτό το σεμινάριο για να ρυθμίσετε την καρτέλα ανάπτυξή σας.
Στο PowerPoint, μεταβείτε στο μενού Προγραμματιστής και πατήστε Visual Basic.
Στο δέντρο του έργου, κάντε δεξί κλικ στην παρουσίασή σας, πατήστε Εισαγωγή και, στη συνέχεια, επιλέξτε Ενότητα. Θα δημιουργηθεί μια νέα μονάδα VBA, εκεί θα γράψετε τον κώδικά σας.
Κουτιά μηνυμάτων στο PowerPoint
Τα κουτιά μηνυμάτων είναι αυτονόητα, στόχος τους είναι να εμφανίσουν ορισμένες χρήσιμες πληροφορίες στον τελικό χρήστη. Γράψτε τον παρακάτω κώδικα στο Module σας:
Sub simplemessagebox()
MsgBox ("This is a simple message box")
End Sub
Πατήστε F5 ή Run και δείτε το αποτέλεσμα:
Παράδειγμα Message and Input Box
Σε αντίθεση με τα Message Boxes, τα κουτιά εισαγωγής χρησιμοποιούνται για τη λήψη σχολίων από τον χρήστη. Ας δούμε το παρακάτω παράδειγμα. Το σενάριο εισάγει αυτόματα νέες διαφάνειες στην παρουσίαση.
Να τι θα εφαρμόσουμε:
- Θα ζητήσουμε πρώτα από τον χρήστη τον αριθμό των διαφανειών που θα προσθέσει (χρησιμοποιώντας ένα πλαίσιο εισαγωγής).
- Στη συνέχεια, θα ειδοποιήσουμε τον χρήστη σχετικά με τον αριθμό των διαφανειών που θα δημιουργηθούν (χρησιμοποιώντας ένα πλαίσιο μηνυμάτων)
- Τελευταίο, θα προχωρήσει και θα δημιουργήσει τις διαφάνειες μέσω προγραμματισμού.
- Τέλος, θα αποθηκεύσουμε την τροποποιημένη παρουσίαση
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
Ας ελπίσουμε ότι βοήθησε, μη διστάσετε να αφήσετε ως σχόλια όπως χρειάζεται.
Ελέγξτε τις τιμές που επιστρέφονται από τη συνάρτηση MsgBox
Όταν εμφανίζεται το παράθυρο διαλόγου MsgBox για αλληλεπίδραση με τον χρήστη, θέλετε να μάθετε σε ποια επιλογή έκανε κλικ ο χρήστης, μπορείτε να χρησιμοποιήσετε τον ακόλουθο κώδικα για να το ελέγξετε:
Ο κώδικας ελέγχει ποιο κουμπί επιλέγει ο χρήστης στο MsgBox
Αντίστοιχα με την επιλογή κάθε χρήστη, μπορείτε να συνεχίσετε να εκτελείτε διαφορετικούς κώδικες, αυτούς τους κωδικούς VBA, μπορείτε να μάθετε σε μαθήματα VBA με κορυφαίους ειδικούς στο Μάθετε Excel Online.
Το MsgBox υποστηρίζει τονισμένα βιετναμέζικα; Η απάντηση είναι όχι, γιατί; Γιατί η Microsoft το προγραμμάτισε έτσι. Υπάρχει όμως άλλος τρόπος; Η απάντηση είναι ναι, μπορείτε να διαβάσετε το άρθρο Χρήση τονισμένα βιετναμέζικα με το MsgBox VBA
Όλος ο κώδικας στο άρθρο μπορείτε να δείτε στο 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", _ |
|
vbOKΑκύρωση + _ |
|
vbCritical + _ |
|
vbDefaultButton1 + _ |
|
vbApplicationModal |
|
End Sub |
|
|
|
Sub HeoBasicMessageBox3() |
|
MsgBox "Hoc Excel Online", _ |
|
vbOKΑκύρωση + _ |
|
vbCritical + _ |
|
vbDefaultButton1 + _ |
|
vbSystemModal |
|
End Sub |
|
|
|
Sub HeoMsgBoxResult1() |
|
Απόκριση αμυδρή ως VbMsgBoxResult |
|
|
|
απάντηση = MsgBox("Hoc Excel Online", vbYesNo + vbCritical) |
|
Απάντηση MsgBox |
|
End Sub |
|
|
|
Sub HeoMsgBoxResult2() |
|
Απόκριση αμυδρή ως VbMsgBoxResult |
|
|
|
answer = MsgBox("Hoc Excel Online", vbYesNo + vbQuestion) |
|
Απάντηση MsgBox |
|
End Sub |
|
|
|
Sub HeoMsgBoxResult3() |
|
Απόκριση αμυδρή ως VbMsgBoxResult |
|
|
|
απάντηση = MsgBox("Hoc Excel Online", vbYesNo + vbExclamation) |
|
Απάντηση MsgBox |
|
|
|
End Sub |
|
|
|
Sub HeoMsgBoxResult4() |
|
Απόκριση αμυδρή ως VbMsgBoxResult |
|
|
|
answer = MsgBox("Hoc Excel Online", vbYesNo + vbInformation) |
|
Απάντηση MsgBox |
|
End Sub |
|
|
|
Sub HeoMsgBoxResult5() |
|
Απόκριση αμυδρή ως VbMsgBoxResult |
|
απάντηση = MsgBox("Σφάλμα", vbAbortRetryIgnore + vbDefaultButton1 + vbMsgBoxHelpButton) |
|
Απάντηση MsgBox |
|
End Sub |
|
|
|
Sub HeoMsgBoxResult6() |
|
Απόκριση αμυδρή ως VbMsgBoxResult |
|
answer = MsgBox("Σφάλμα", vbAbortRetryIgnore + vbDefaultButton2 + vbMsgBoxHelpButton) |
|
Απάντηση MsgBox |
|
End Sub |
|
|
|
Sub HeoMsgBoxResult7() |
|
Απόκριση αμυδρή ως VbMsgBoxResult |
|
answer = MsgBox("Σφάλμα", vbAbortRetryIgnore + vbDefaultButton3 + vbMsgBoxHelpButton) |
|
Απάντηση MsgBox |
|
End Sub |
|
|
|
Sub HeoMsgBoxResult8() |
|
Απόκριση αμυδρή ως VbMsgBoxResult |
|
answer = MsgBox("Σφάλμα", vbAbortRetryIgnore + vbDefaultButton4 + vbMsgBoxHelpButton) |
|
Απάντηση MsgBox |
|
End Sub |
|
|
|
Sub HeoMsgBoxResult9() |
|
Απόκριση αμυδρή ως VbMsgBoxResult |
|
answer = MsgBox("Θέλετε να δοκιμάσετε ξανά;", vbRetryCancel + vbQuestion, "Σφάλμα") |
|
Απάντηση MsgBox |
|
End Sub |
|
|
|
Sub HeoMsgBoxResult10() |
|
MsgBox "Παρουσιάστηκε κρίσιμο σφάλμα", vbCritical, "Σφάλμα συστήματος" |
|
End Sub |