Cu câteva zile în urmă, un cititor a întrebat că există o modalitate de a automatiza crearea de prezentări PowerPoint de la zero și apoi de a adăuga rapid diapozitive la prezentarea existentă. Am crezut că acel script ar putea fi foarte în lista celor mai utile macrocomenzi PowerPoint.
După cum am indicat în trecut, PowerPoint nu include un Macro Recorder (care este spre deosebire de Excel și Word, care ambele au încorporate recordere pentru Macro). Prin urmare, am rămas cu vechiul Visual Basic pentru Aplicație pe care îl putem folosi pentru a crea macrocomenzi simple pentru a automatiza PowerPoint. Există alte alternative pentru automatizarea PowerPoint, dar acestea depășesc scopul acestui tutorial.
În tutorialul scurt de astăzi, vom trece peste trei cazuri de utilizare diferite:
- Creare nouă de prezentare (gol sau folosind un șablon)
- Adăugați diapozitive la o prezentare existentă.
- O combinație a celor două cazuri menționate mai sus (Creați de la zero și adăugați diapozitive)
Să începem.
Uită-te la Ribbon. Dacă nu vedeți o intrare pentru Dezvoltator în meniu, înainte de a începe codarea, va trebui să activați fila Dezvoltator.
După ce faceți vizibil meniul Developer Ribbon, mergeți mai departe și apăsați pe Developer , apoi apăsați pe butonul Visual Basic (sau pur și simplu mergeți mai departe și apăsați Alt+F11) pentru a deschide Visual Basic IDE.
VBA pentru a crea o prezentare PowerPoint
- În Editorul VB, faceți clic dreapta pe VBAProject și apăsați Inserare .
- Selectați Modul .
- Lipiți următorul cod în modulul nou creat.
Sub CreatePresentation()
Dim NewPres as Presentation
Set NewPres = Presentations.Add
NewPres.SaveAs("MyPresentation.pptx")
End Sub
- Apăsați pe fișier și apoi pe Salvați.
- Pentru a rula codul, apăsați Run și apoi alegeți Run Sub/User Form (sau pur și simplu F5).
- Închideți editorul VB.
VBA pentru a insera diapozitive
- În Editorul VB, faceți clic dreapta pe VBAProject și apăsați Inserare.
- Selectați Modul
- Lipiți următorul cod în modulul nou creat.
Sub CreateSlide()
Dim NewSlide as Slide
'This statement ads a title slide
Set NewSlide = ActivePresentation.Slides.Add(Index:=1, Layout:=ppLayoutTitle)
'This statement adds a blank slide in the second place
Set NewSlide = ActivePresentation.Slides.Add(Index:=2, Layout:=ppLayoutBlank)
End Sub
- Apăsați pe fișier și apoi pe Salvați.
- Pentru a rula codul, apăsați Run și apoi alegeți Run Sub/User Form (sau pur și simplu F5).
- Închideți editorul VB.
Macro pentru a configura o nouă prezentare și pentru a adăuga diapozitive
Ar fi doar amestecarea celor două fragmente prezentate mai sus.
Sub CreatePres_AddSlides()
Dim NewPres as Presentation
Dim NewSlide as Slide
Set NewPres = Presentations.Add
NewPres.SaveAs("MyPresentation.pptx")
' Title Slide
Set NewSlide = ActivePresentation.Slides.Add(Index:=1, Layout:=ppLayoutTitle)
'This statement adds a blank slide in the second place
Set NewSlide = ActivePresentation.Slides.Add(Index:=2, Layout:=ppLayoutBlank)
'Save the new PowerPoint file
NewPres.SaveAs("MyPresentation.pptx")
End Sub
În continuare, s-ar putea să consultați tutorialul nostru despre crearea programatică a formelor în PowerPoint cu VBA
Generați o prezentare PowerPoint din Excel
Ultimul caz este că doriți să creați o prezentare PowerPoint direct dintr-o foaie de calcul Excel. Puteți folosi aceeași tehnică din Word și din alte aplicații Microsoft 365.
- Conectați foaia de calcul la modelul de date PowerPoint (din Instrumente>>Referințe)
- Introduceți un buton în foaia de calcul Excel (Dezvoltator >> Inserați și apoi alegeți un buton de comandă).
- Introduceți codul VBA de mai jos în proiectul dvs. VBA Spreadsheet (direct în foaie sau într-un modul VBA)
- Modificați scriptul după cum este necesar.
- Rulați (apăsați F5) și testați rezultatul.
Sub CreatePresentationFromExcel()
Dim MyPPt As PowerPoint.Application
Dim NewPres As PowerPoint.Presentation
Dim NewSlide As Slide
Set MyPPt = CreateObject("PowerPoint.Application")
Set NewPres = MyPPt.Presentations.Add
Set NewSlide = MyPPt.ActivePresentation.Slides.Add(Index:=1, Layout:=ppLayoutTitle)
NewPres.SaveAs ("MyPresentation.pptx")
NewPres.Close
MyPPt.Quit
MsgBox ("Presentation saved")
End Sub
Bucură-te 🙂
Avantajele Excel VBA PowerPoint
- Utilizarea VBA în Powerpoint face ușor de manevrat dacă un fișier ppt are atât de multe diapozitive cu conținut imens.
- VBA cu Powerpoint oferă o notă de automatizare chiar și cu funcții limitate disponibile.
Contra ale Excel VBA PowerPoint
- Trebuie să selectăm Biblioteca de obiecte Microsoft PowerPoint 15.0 din opțiunea Referință situată în opțiunea meniului Instrument, de care avem nevoie la începutul exemplu-1, de fiecare dată când rulăm codul pentru PowerPoint.
Lucruri de amintit
- Salvați fișierul în formatul Macro-Enable Presentation după ce ați scris codul. Acest lucru ne va ajuta să evităm pierderea codului și utilizarea aceluiași timp de mai multe ori în viitor.
- Caracteristica de codificare nu va funcționa aici, deoarece trebuie să trecem de la Excel la PowerPoint schimbând interfața dintre pagini.
- Întotdeauna compilați codul înainte de a rula. Acest lucru vă va ajuta să găsiți eroarea din cod. Acest lucru este destul de util atunci când scriem linii mari de cod.
- Pentru a rula și implementa codul trebuie să deschidem foaia Excel cu Chart pe care dorim să o lipim în slide PowerPoint.
- Putem alinia diagrama în PowerPoint în funcție de nevoile noastre.