Αυτός είναι ένας πλήρης οδηγός για την αυτοματοποίηση του PowerPoint χρησιμοποιώντας μακροεντολές VBA (Visual Basic for Applications). Παρακάτω θα βρείτε πολλά χρήσιμα παραδείγματα.
VBA PDF (Δωρεάν λήψεις)
Κατεβάστε το δωρεάν μάθημα Microsoft PowerPoint VBA! Or VBA Tutorials για άλλα προγράμματα του Office!
Κατεβάστε
Φροντιστήριο PowerPoint VBA (Μακροεντολές)
Αποθήκευση ως παρουσίαση με δυνατότητα ενεργοποίησης μακροεντολής
Η παρουσίαση με κώδικα VBA θα πρέπει να είναι "Αποθηκευμένη ως" παρουσίαση του PowerPoint με δυνατότητα μακροεντολής (*.pptm)
Ενεργοποιήστε την καρτέλα "Προγραμματιστής" στην κορδέλα
Θα πρέπει να ενεργοποιήσετε την καρτέλα Προγραμματιστής στην Κορδέλα πριν δημιουργήσετε κώδικα VBA. Για να το κάνετε αυτό, επιλέξτε Αρχείο -> Επιλογές και, στη συνέχεια, κάντε κλικ στην επιλογή "Προσαρμογή κορδέλας" και επιλέξτε το πλαίσιο δίπλα στην καρτέλα "Προγραμματιστής" στο δεξί παράθυρο.
Δημιουργήστε μακροεντολή PowerPoint
Αυτό είναι ένα απλό παράδειγμα μακροεντολής VBA του PowerPoint:
1234567891011 | Sub SavePresentationAsPDF ()Dim pptName As StringDim PDFName As String'Αποθήκευση του PowerPoint ως PDFpptName = ActivePresentation.FullName"Αντικαταστήστε την επέκταση αρχείου PowerPoint στο όνομα σε PDFPDFName = Αριστερά (pptName, InStr (pptName, ".")) & "Pdf"ActivePresentation.ExportAsFixedFormat PDFName, 2 'ppFixedFormatTypePDF = 2Τέλος υπο |
Αποθηκεύει την ενεργή παρουσίαση ως PDF. Κάθε γραμμή κώδικα κάνει τα εξής:
- Δημιουργεί μεταβλητές για το όνομα του PowerPoint και το όνομα PDF
- Εκχωρεί το ενεργό όνομα παρουσίασης στη μεταβλητή pptName
- Δημιουργεί το πλήρες όνομα PDF
- Αποθηκεύει την παρουσίαση ως PDF
Εφαρμογή PowerPoint
Όταν ο κώδικας VBA εκτελείται σε μια παρουσίαση του PowerPoint, η εφαρμογή PowerPoint είναι η προεπιλεγμένη εφαρμογή και μπορεί να χειριστεί χωρίς ρητή αναφορά. Δημιουργήστε μια νέα παρουσίαση
Για να δημιουργήσετε μια παρουσίαση, χρησιμοποιήστε τη μέθοδο Προσθήκη της εφαρμογής PowerPoint.
123 | Εφαρμογή. Παρουσιάσεις. Προσθήκηή χωρίς ρητή αναφοράΠαρουσιάσεις. Προσθήκη |
Ανοίξτε μια νέα παρουσίαση
Για να ανοίξετε μια νέα και κενή παρουσίαση, χρησιμοποιήστε τη μέθοδο Προσθήκη εφαρμογής. Συλλογή παρουσιάσεων
1 | Παρουσιάσεις. Προσθήκη |
Ανοίξτε μια υπάρχουσα παρουσίαση
Για να ανοίξετε μια παρουσίαση που έχετε ήδη δημιουργήσει, χρησιμοποιήστε τη συλλογή Ανοιχτή μέθοδο εφαρμογής
1 | Presentations.Open ("My Presentation.pptx") |
Ο παραπάνω κώδικας υποθέτει ότι η παρουσίαση βρίσκεται στον ίδιο κατάλογο με την παρουσίαση του PowerPoint που περιέχει τον κώδικα.
Άνοιγμα και εκχώρηση σε μια μεταβλητή
Θα πρέπει να εκχωρήσετε την παρουσίαση που ανοίγετε σε μια μεταβλητή, ώστε να μπορείτε να την χειρίζεστε σύμφωνα με τις απαιτήσεις σας.
12 | Dim ppt Ως παρουσίασηΟρισμός ppt = Presentations.Open ("My Presentation.pptx") |
Ανατρέξτε στην Ενεργή παρουσίαση
Χρησιμοποιήστε την αναφορά ActivePrentation για να χειριστείτε την παρουσίαση που είναι ενεργή στο GUI όταν εκτελείται ο κώδικας VBA.
12 | 'Εκτυπώστε το όνομα της ActivePresentation στο άμεσο παράθυροDebug.Print ActivePresentation.Name |
Αποθήκευση τρέχουσας παρουσίασης
Η παρακάτω δήλωση θα αποθηκεύσει την Ενεργή παρουσίαση εάν είχε αποθηκευτεί πριν. Εάν δεν έχει αποθηκευτεί, θα σας ζητηθεί το παράθυρο διαλόγου "Αποθήκευση ως".
1 | ActivePresentation.Save |
Κλείσιμο Τρέχουσας Παρουσίασης
Η παρακάτω δήλωση θα κλείσει την Ενεργή παρουσίαση ακόμη και αν δεν αποθηκεύτηκε μετά την τελευταία επεξεργασία.
1 | ActivePresentation.Close |
Χρήσιμες αναφορές
Εκχωρήστε την υπάρχουσα παρουσίαση (κατ 'όνομα) στη μεταβλητή
12 | Dim myPresentationByName As PresentationΟρισμός myPresentationByName = Application.Presentations ("Η παρουσίασή μου") |
Εκχώρηση ενεργής διαφάνειας σε μεταβλητή
12 | Χαμηλό ρεύμαΔιαφάνεια ως διαφάνειαΟρισμός currentSlide = Application.ActiveWindow.View.Slide |
Αντιστοίχιση διαφάνειας κατά Ευρετήριο σε Μεταβλητή
12 | Dim mySlide As SlideΟρισμός mySlide = ActivePresentation.Slides (11) |
Αριθμός αριθμού διαφανειών
12 | Dim slideCount As LongslideCount = ActivePresentation.Slides.Count |
Λήψη ευρετηρίου διαφανειών Αριθμός τρέχουσας διαφάνειας
12 | Χαμηλό ρεύμαSlideIndex As SlidecurrentSlideIndex = Application.ActiveWindow.View.Slide.SlideIndex |
Προσθέστε μια κενή διαφάνεια στο τέλος της παρουσίασης
1234567 | Dim slideCount As LongDim newSlide ως διαφάνειαslideCount = ActivePresentation.Slides.CountΟρισμός newSlide = ActivePresentation.Slides.Add (slideCount + 1, 12)'ή ως ppLayoutBlank = 12Ορισμός newSlide = ActivePresentation.Slides.Add (slideCount + 1, ppLayoutBlank) |
Προσθέστε μια διαφάνεια μετά την τρέχουσα διαφάνεια
12345 | Dim newSlide As SlideDim currentSlideIndex ως ακέραιοςcurrentSlideIndex = Application.ActiveWindow.View.Slide.SlideIndexΟρισμός newSlide = ActivePresentation.Slides.Add (currentSlideIndex, ppLayoutBlank) |
Διαγραφή διαφάνειας
1234 | Dim currentSlideIndex ως ακέραιοςcurrentSlideIndex = Application.ActiveWindow.View.Slide.SlideIndexActivePresentation.Slides (currentSlideIndex). Διαγραφή |
Μεταβείτε σε μια συγκεκριμένη διαφάνεια
12 | «Αυτό θα σας οδηγήσει στη διαφάνεια του αριθμού 4Application.ActiveWindow.View.GotoSlide (4) |
Μετακίνηση διαφάνειας
Μπορείτε να μετακινήσετε μια διαφάνεια από την παλιά της θέση στη νέα θέση
123456 | «Μετακίνηση από τη διαφάνεια 3 στην πρώτη διαφάνειαDim παλιά Θέση ως ακέραιος, αμυδρή νέα Θέση ως ακέραιοςoldPosition = 3newPosition = 1ActivePresentation.Slides (oldPosition) .MoveTo toPos: = newPosition |
Βρόχος σε όλες τις διαφάνειες
Μπορείτε να κάνετε κάτι με κάθε διαφάνεια ή να περάσετε από όλες τις διαφάνειες για να βρείτε μερικές διαφάνειες και να κάνετε κάτι με τη χρήση του κώδικα.
123456 | Dim mySlide ως διαφάνειαΓια κάθε mySlide In ActivePresentation.Slides"Κάντε κάτι με την τρέχουσα διαφάνεια που αναφέρεται στη μεταβλητή" mySlide "'Debug.Print mySlide.NameΕπόμενη Διαφάνεια |
Βουτιά σε όλα τα σχήματα της ενεργής διαφάνειας
Η ισχύς του PowerPoint μπορεί να γίνει αντιληπτή με τη χρήση «Shapes.» Ο παρακάτω κώδικας περνά μέσα από όλα τα σχήματα της τρέχουσας διαφάνειας, ώστε να μπορείτε να τα χειρίζεστε όπως θέλετε.
123456789 | Χαμηλό ρεύμαΔιαφάνεια ως διαφάνειαDim shp ως ShapeΟρισμός currentSlide = Application.ActiveWindow.View.SlideΓια κάθε shp Σε currentSlide.Shapes"Κάντε κάτι με το τρέχον σχήμα που αναφέρεται στη μεταβλητή" shp "«Για παράδειγμα, εκτυπώστε το όνομα του σχήματος στο άμεσο παράθυροDebug.Print shp.NameΕπόμενο shp |
Βοηθήστε όλα τα σχήματα σε όλες τις διαφάνειες
Μπορείτε να περιηγηθείτε σε όλα τα σχήματα της παρουσίασης προσθέτοντας έναν βρόχο για να περάσετε από όλες τις διαφάνειες.
123456789 | Χαμηλό ρεύμαΔιαφάνεια ως διαφάνειαDim shp ως ShapeΓια κάθε currentSlide In ActivePresentation.SlidesΓια κάθε shp Σε currentSlide.Shapes"Κάντε κάτι με το τρέχον σχήμα που αναφέρεται στη μεταβλητή" shp "Debug.Print shp.NameΕπόμενο shpΕπόμενο τρέχονSlide |
Κάντε βρόχο σε όλα τα TextBoxes της ενεργής διαφάνειας
Τα TextBoxes είναι το πιο συχνά χρησιμοποιούμενο σχήμα στις παρουσιάσεις του PowerPoint. Μπορείτε να περιηγηθείτε σε όλα τα πλαίσια κειμένου προσθέτοντας μια επιταγή για "Τύπος σχήματος". Τα TexBox έχουν τον τύπο σχήματος που ορίζεται ως η σταθερά VBA msoTextBox (η αριθμητική τιμή της σταθεράς είναι 17)
1234567891011 | Χαμηλό ρεύμαΔιαφάνεια ως διαφάνειαDim shp ως ShapeΟρισμός currentSlide = Application.ActiveWindow.View.SlideΓια κάθε shp Σε currentSlide.Shapes'Ελέγξτε αν ο τύπος σχήματος είναι msoTextBoxΑν shp.Type = 17 Τότε 'msoTextBox = 17«Εκτυπώστε το κείμενο στο TextBoxDebug.Print shp.TextFrame2.TextRange.TextΤέλος εανΕπόμενο shp |
Κάντε βρόχο σε όλα τα πλαίσια κειμένου σε όλες τις διαφάνειες
Και πάλι, μπορείτε να περιηγηθείτε σε όλα τα πλαίσια κειμένου στην παρουσίαση προσθέτοντας έναν βρόχο για να περάσετε από όλες τις διαφάνειες.
1234567891011 | Χαμηλό ρεύμα Διαφάνεια ως Διαφάνεια Dim shp ως ΣχήμαΓια κάθε currentSlide In ActivePresentation.SlidesΓια κάθε shp Σε currentSlide.Shapes'Ελέγξτε αν ο τύπος σχήματος είναι msoTextBoxΑν shp.Type = 17 Τότε 'msoTextBox = 17"Κάντε κάτι με το TextBox που αναφέρεται στη μεταβλητή" shp "Debug.Print shp.TextFrame2.TextRange.TextΤέλος εανΕπόμενο shpΕπόμενο τρέχονSlide |
Αντιγραφή επιλεγμένων διαφανειών στη νέα παρουσίαση PPT
Για να αντιγράψετε ορισμένες διαφάνειες σε μια νέα παρουσίαση, επιλέξτε πρώτα τις επιθυμητές διαφάνειες στην υπάρχουσα παρουσίαση και, στη συνέχεια, εκτελέστε τον παρακάτω κώδικα.
123456789101112131415161718 | Απώλεια τρέχοντοςΠαρουσίαση ως παρουσίασηΧαμηλό ρεύμαΔιαφάνεια ως διαφάνειαΧαμηλή παρουσίαση ως παρουσίαση'Αποθήκευση αναφοράς στην τρέχουσα παρουσίασηΟρισμός currentPresentation = Application.ActivePresentation'Αποθήκευση αναφοράς στην τρέχουσα διαφάνειαΟρισμός currentSlide = Application.ActiveWindow.View.Slide"Προσθέστε νέα παρουσίαση και αποθηκεύστε σε μια αναφοράΟρισμός NewPresentation = Application.Presentations.Addd'Αντιγραφή επιλεγμένων διαφανειώνΕπιλογή. Αντιγραφή«Επικολλήστε το σε νέα παρουσίασηNewPresentation.Slides.Paste |
Αντιγραφή ενεργής διαφάνειας στο τέλος της ενεργής παρουσίασης
12345 | 'Αντιγραφή τρέχουσας διαφάνειαςApplication.ActiveWindow.View.Slide.Copy«Επικόλληση στο τέλοςActivePresentation.Slides.Paste |
Χρήσιμα παραδείγματα μακροεντολών PowerPoint
Ακολουθούν μερικά χρήσιμα παραδείγματα μακροεντολών που δείχνουν τον τρόπο εκτέλεσης εργασιών. Αυτά θα δείξουν επίσης τις έννοιες που περιγράφονται παραπάνω.
Αλλαγή διαφάνειας κατά τη διάρκεια της παρουσίασης
1234567891011 | Sub ChangeSlideDuringSlideShow ()Dim SlideIndex As IntegerDim SlideIndexPrevenue As Integer«Αλλαγή τρέχουσας διαφάνειας σε επιλεγμένη διαφάνεια 4 κατά τη διάρκεια της παρουσίασηςSlideIndex = 4'Το ευρετήριο του τρέχοντος παραθύρου παρουσίασης είναι 1 στη συλλογή SlideShowWindowsSlideIndexPrevious = SlideShowWindows (1) .View.CurrentShowPositionSlideShowWindows (1) .View.GotoSlide SlideIndexΤέλος υπο |
Αλλαγή γραμματοσειράς σε όλες τις διαφάνειες σε όλα τα πλαίσια κειμένου
123456789101112131415 | Sub ChangeFontOnAllSlides ()Dim mySlide As slideDim shp As Shape«Αλλαγή μεγέθους γραμματοσειράς σε όλες τις ΠαρουσιάσειςΓια κάθε mySlide In ActivePresentation.SlidesΓια κάθε shp Στο mySlide.ShapesΑν shp.Type = 17 Τότε 'msoTextBox = 17«Αλλαγή μεγέθους γραμματοσειράς σε 24shp.TextFrame.TextRange.Font.Size = 24Τέλος εανΕπόμενο shpΕπόμενο mySlideΤέλος υπο |
Αλλάξτε την περίπτωση από επάνω σε κανονική σε όλα τα πλαίσια κειμένου
123456789101112131415 | Sub ChangeCaseFromUppertoNormal ()Dim mySlide As slideDim shp As Shape'Αλλαγή από κεφαλαία σε κανονική υπόθεση για όλες τις διαφάνειεςΓια κάθε mySlide In ActivePresentation.SlidesΓια κάθε shp Στο mySlide.ShapesΑν shp.Type = 17 Τότε 'msoTextBox = 17«Αλλαγή άνω πεζού λόγου σε κανονική περίπτωση»shp.TextFrame2.TextRange.Font.Allcaps = ΛάθοςΤέλος εανΕπόμενο shpΕπόμενο mySlideΤέλος υπο |
Εναλλαγή περίπτωσης μεταξύ Επάνω και Κανονικού σε Όλα τα πλαίσια κειμένου
12345678910111213141516 | Sub ToggleCaseBetweenUpperAndNormal ()Dim mySlide As slideDim shp As Shape'Εναλλαγή μεταξύ πεζών και κανονικών πεζών για όλες τις διαφάνειεςΓια κάθε mySlide In ActivePresentation.SlidesΓια κάθε shp Στο mySlide.ShapesΑν shp.Type = 17 Τότε 'msoTextBox = 17'Εναλλαγή μεταξύ πεζών και κανονικών πεζώνshp.TextFrame2.TextRange.Font.Allcaps = _Όχι shp.TextFrame2.TextRange.Font.AllcapsΤέλος εανΕπόμενο shpΕπόμενο mySlideΤέλος υπο |
Κατάργηση Underline από τους Descenders
Στην τυπογραφία, ένα descender είναι το τμήμα ενός γράμματος που εκτείνεται κάτω από τη βασική γραμμή μιας γραμματοσειράς. Στις περισσότερες γραμματοσειρές, οι απόγονοι προορίζονται για μικρούς χαρακτήρες όπως g, j, q, p, y και μερικές φορές f.
Όταν υπογραμμίζετε κείμενο, δεν φαίνεται ωραίο κάτω από τους κατώτερους. Ακολουθεί ο κώδικας για την κατάργηση της υπογράμμισης από όλους τους χαρακτήρες g, j, p, q και y σε ολόκληρη την παρουσίαση.
1234567891011121314151617181920212223242526 | Sub RemoveUnderlineFromDescenders ()Dim mySlide As slideDim shp As ShapeΧαμηλό κατέβασμα_κατάλογος ως συμβολοσειράΧαμηλή φράση ως συμβολοσειράDim x As Long«Κατάργηση υπογραμμίσεων από τους Descendersdescenders_list = "gjpqy"Για κάθε mySlide In ActivePresentation.SlidesΓια κάθε shp Στο mySlide.ShapesΑν shp.Type = 17 Τότε 'msoTextBox = 17"Κατάργηση υπογράμμισης από τα γράμματα" gjpqy "Με shp.TextFrame.TextRangeφράση = .ΚείμενοΓια x = 1 προς Len (.Text)Εάν InStr (list_cenders, Mid $ (φράση, x, 1))> 0 Τότε. Χαρακτήρες (x, 1). Γραμματοσειρά. Κάτω από κάτω = ΛάθοςΤέλος εανΕπόμενο xΤέλος μεΤέλος εανΕπόμενο shpΕπόμενο mySlideΤέλος υπο |
Κατάργηση κινούμενων εικόνων από όλες τις διαφάνειες
Χρησιμοποιήστε τον παρακάτω κώδικα για να καταργήσετε όλες τις κινούμενες εικόνες που έχουν οριστεί σε μια παρουσίαση.
123456789101112 | Sub RemoveAnimationsFromAllSlides ()Dim mySlide As slideDim i As LongΓια κάθε mySlide In ActivePresentation.SlidesΓια i = mySlide.TimeLine.MainSequence.Count To 1 Step -1«Αφαίρεση κάθε κινούμενης εικόναςmySlide.TimeLine.MainSequence. Στοιχείο (i). ΔιαγραφήΕπόμενο iΕπόμενο mySlideΤέλος υπο |
Αποθήκευση παρουσίασης ως PDF
Μπορείτε εύκολα να αποθηκεύσετε την Ενεργή παρουσίαση σε μορφή PDF.
1234567891011 | Sub SavePresentationAsPDF ()Dim pptName As StringDim PDFName As String'Αποθήκευση του PowerPoint ως PDFpptName = ActivePresentation.FullName"Αντικαταστήστε την επέκταση αρχείου PowerPoint στο όνομα σε PDFPDFName = Αριστερά (pptName, InStr (pptName, ".")) & "Pdf"ActivePresentation.ExportAsFixedFormat PDFName, 2 'ppFixedFormatTypePDF = 2Τέλος υπο |
Εύρεση και αντικατάσταση κειμένου
Μπορείτε να βρείτε και να αντικαταστήσετε κείμενο σε Όλα τα πλαίσια κειμένου όλων των διαφανειών. Μετά την πρώτη εμφάνιση του κειμένου που θέλετε να βρείτε (ορίζεται από το findWhat), πρέπει να περιηγηθείτε στην εντολή Εύρεση για να βρείτε άλλες παρουσίες, εάν υπάρχουν.
123456789101112131415161718192021222324252627282930313233 | Sub FindAndReplaceText ()Dim mySlide As slideDim shp As ShapeDim findWhat As StringΕλαφριά αντικατάστασηΜε συμβολοσειράDim ShpTxt As TextRangeDim TmpTxt ως TextRangefindWhat = "τσακάλι"installWith = "fox"«Εύρεση και εύρεση και αντικατάστασηΓια κάθε mySlide In ActivePresentation.SlidesΓια κάθε shp Στο mySlide.ShapesΑν shp.Type = 17 Τότε 'msoTextBox = 17Ορίστε ShpTxt = shp.TextFrame.TextRange"Βρείτε την πρώτη περίπτωση της λέξης" Εύρεση "(εάν υπάρχει)Ορισμός TmpTxt = ShpTxt.Replace (findWhat, _Αντικαταστήστε: = αντικαταστήστε με, _WholeWords: = True)"Εύρεση τυχόν πρόσθετων εμφανίσεων της λέξης" Εύρεση "(εάν υπάρχει)Κάνετε ενώ δεν TmpTxt δεν είναι τίποταΟρίστε ShpTxt = ShpTxt.Characters (TmpTxt.Start + TmpTxt.Length, ShpTxt.Length)Ορισμός TmpTxt = ShpTxt.Replace (findWhat, _Αντικαταστήστε: = αντικαταστήστε με, _WholeWords: = True)ΒρόχοςΤέλος εανΕπόμενο shpΕπόμενο mySlideΤέλος υπο |
Εξαγωγή διαφάνειας ως εικόνας
Μπορείτε να εξαγάγετε το τρέχον SLide (ή οποιαδήποτε άλλη διαφάνεια) ως εικόνα PNG ή JPG (JPEG) ή BMP.
1234567891011121314 | Sub ExportSlideAsImage ()Dim imageType As StringDim pptName As StringDim imageName As StringDim mySlide As slide'Εξαγωγή τρέχουσας διαφάνειας στην εικόναimageType = "png" 'ή jpg ή bmppptName = ActivePresentation.FullNameimageName = Αριστερά (pptName, InStr (pptName, ".")) & imageTypeΟρισμός mySlide = Application.ActiveWindow.View.slidemySlide.Export imageName, imageTypeΤέλος υπο |
Αλλαγή μεγέθους εικόνας για κάλυψη πλήρους διαφάνειας
1234567891011121314151617181920212223242526 | Sub ResizeImageToCoverFullSlide ()Dim mySlide As slideDim shp As Shape«Αλλαγή μεγέθους εικόνας σε πλήρες μέγεθος διαφάνειας«Αλλάξτε το ύψος και το πλάτος του πρώτου σχήματος στην τρέχουσα διαφάνεια«για να ταιριάζει στις διαστάσεις της διαφάνειαςΟρισμός mySlide = Application.ActiveWindow.View.slideΟρισμός shp = mySlide.Shapes (1)''"" Αντικαταστήστε δύο statemetns παραπάνω με'' την ακόλουθη δήλωση αν θέλετε'' επέκταση του τρέχοντος επιλεγμένου σχήματος'' θα δώσει σφάλμα εάν δεν επιλεγεί τίποτα'Set shp = ActiveWindow.Selection.ShapeRange (1)Με shp.LockAspectRatio = Λάθος.Height = ActivePresentation.PageSetup.SlideHeight.Πλάτος = ActivePresentation.PageSetup.SlideWidth. Αριστερά = 0. Κορυφή = 0Τέλος μεΤέλος υπο |
Έξοδος από όλες τις τρέχουσες προβολές παρουσίασης
Εάν έχετε πολλές προβολές παρουσίασης ανοιχτές ταυτόχρονα, μπορείτε να τις κλείσετε χρησιμοποιώντας την παρακάτω μακροεντολή.
1234567 | Sub ExitAllRunningSlideShows ()Do while SlideShowWindows.Count> 0SlideShowWindows (1). View.ExitΒρόχοςΤέλος υπο |
Αυτοματοποίηση του PowerPoint από το Excel
Μπορείτε επίσης να συνδεθείτε στο PowerPoint μέσω άλλων εφαρμογών (όπως το Excel και το Word). Ως πρώτο βήμα, πρέπει να ανατρέξετε σε μια παρουσία του PowerPoint.
Υπάρχουν δύο τρόποι για να το κάνετε - έγκαιρη δέσμευση και καθυστερημένο δέσιμο .
Άνοιγμα PowerPoint - Early Binding
Στο «Early Binding» πρέπει να ορίσετε ρητά μια αναφορά στο «Microsoft PowerPoint 16 Object Library» (για MS Office 2022) στο VBE (Visual Basic Editor) χρησιμοποιώντας την επιλογή Εργαλεία-> Αναφορές.
123 | 'Early BindingDim pptApp ως εφαρμογήΟρισμός pptApp = Νέο PowerPoint.Application |
Άνοιγμα PowerPoint - Late Binding
Στην εφαρμογή "Late Binding" η μεταβλητή εφαρμογής δηλώνεται ως αντικείμενο και ο κινητήρας VBA συνδέεται με τη σωστή εφαρμογή την ώρα εκτέλεσης.
123 | 'Late BindingDim pptApp ως αντικείμενοΟρισμός pptApp = CreateObject ("PowerPoint.Application") |
Κάντε την εφαρμογή ορατή
Αφού ορίσετε την αναφορά στην εφαρμογή PowperPoint, ίσως χρειαστεί να την κάνετε ορατή.
1 | pptApp.Visible = True |
Χειριστείτε το PowerPoint
Μπορείτε να χρησιμοποιήσετε όλες τις μεθόδους για να χειριστείτε παρουσιάσεις, από το PowerPoint, που περιγράφονται παραπάνω από το Excel, προσθέτοντας απλώς την αναφορά στο PowerPoint που δημιουργήσατε παραπάνω.
Για παράδειγμα
1 | Presentations.Open ("My Presentation.pptx") |
πρέπει να χρησιμοποιηθεί όπως αυτό
1 | pptApp .Presentations.Open ("My Presentation.pptx") |
Κλείστε την εφαρμογή
Μόλις ολοκληρώσετε αυτό που θέλετε να κάνετε με την εφαρμογή PowerPoint, πρέπει να το κλείσετε και να αφήσετε την αναφορά.
12 | pptApp. ΚλείστεΟρισμός pptApp = Τίποτα |
Αντιγραφή από το Excel στο PowerPoint
Αυτός ο κώδικας θα αντιγράψει μια περιοχή από το Excel στο PowerPoint:
Σημείωση: Διατηρήθηκε όσο το δυνατόν πιο απλό για να δείξει πώς μπορεί να αντιγραφεί ένα εύρος από το Excel στο PowerPoint χρησιμοποιώντας VBA.
12345678910111213141516171819 | Sub copyRangeToPresentation ()'Άνοιγμα νέας παρουσίας PowerPointΟρισμός pptApp = CreateObject ("PowerPoint.Application")Με pptApp«Δημιουργήστε μια νέα παρουσίασηΟρισμός ppt = .Παρουσιάσεις.Προσθήκη"Προσθήκη κενής διαφάνειαςΟρισμός newSlide = ppt.Slides.Add (1, 12) 'ppLayoutBlank = 12"Εύρος αντιγραφής από το ενεργό φύλλο στο ExcelActiveSheet.Range ("A1: E10"). Αντιγραφή«Επικόλληση στο Powerpoint ως εικόναnewSlide.Shapes.PasteSpecial DataType: = 2 '2 = ppPasteEnhancedMetafile«Μετάβαση στο PowerPoint.Θέτω εις ενέργειανΤέλος μεΤέλος υπο |
Συχνές ερωτήσεις για το PowerPoint VBA
Τι είναι οι μακροεντολές στο PPT;
Η μακροεντολή είναι ένας γενικός όρος που αναφέρεται σε ένα σύνολο οδηγιών προγραμματισμού που αυτοματοποιεί εργασίες. Μακροεντολές PowerPoint (PPT) αυτοματοποιούν εργασίες στο PowerPoint χρησιμοποιώντας τη γλώσσα προγραμματισμού VBA.
Πώς μπορώ να χρησιμοποιήσω το VBA στο PowerPoint;
Για να χρησιμοποιήσετε το VBA στο PowerPoint, ανοίξτε το πρόγραμμα επεξεργασίας VBA (ALT + F11 ή προγραμματιστής> Visual Basic).
Πώς μπορώ να δημιουργήσω μια μακροεντολή στο PowerPoint;
1. Ανοίξτε το πρόγραμμα επεξεργασίας VBA (ALT + F11 ή προγραμματιστής> Visual Basic)
2. Πηγαίνετε στο Εισαγωγή> Ενότητα για να δημιουργήσετε μια Ενότητα κωδικού
3. Πληκτρολογήστε ‘Sub HelloWorld’ και πατήστε Enter
4. Μεταξύ των γραμμών ‘Sub HelloWorld’ και ‘End Sub’, πληκτρολογήστε ‘MsgBox“ Hello World! ’
5. Έχετε δημιουργήσει μια μακροεντολή!
6. Τώρα πατήστε ‘F5’ για να εκτελέσετε τη μακροεντολή
Συγγραφέας: Vinamra Chandra