Παραδείγματα και φροντιστήριο μακροεντολών VBA PowerPoint

Αυτός είναι ένας πλήρης οδηγός για την αυτοματοποίηση του 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

Θα βοηθήσει στην ανάπτυξη του τόπου, μοιράζονται τη σελίδα με τους φίλους σας

wave wave wave wave wave