VBA PowerPoint - Creați prezentare PowerPoint din Excel folosind VBA

Cuprins:

Anonim

Excel VBA PowerPoint Tutorial

VBA este un instrument puternic care poate fi utilizat în orice zonă a instrumentelor integrate Microsoft. Ca și MS Excel, Powerpoint are și o dispoziție pentru crearea unei macro și automatizarea prezentării. Automatizarea poate fi de orice formă. Ați văzut prezentări în care diapozitivele sunt atât de mari și detaliate, care uneori ajung să aibă peste 50 de diapozitive doar pentru a acoperi un subiect de antrenament sau un raport. Deci, în loc să adăugăm graficele în PowerPoint din Excel, putem crea un cod care va copia direct diagramele din Excel și le va insera în diapozitivul PowerPoint.

Cum să creați o prezentare PowerPoint din Excel VBA?

Mai jos este exemplul pentru a crea o prezentare powerpoint folosind codul VBA în Excel:

Puteți descărca acest șablon VBA PowerPoint Excel aici - Șablonul VBA PowerPoint Excel

Exemplu PowerPoint VBA

Să creăm un grafic mai întâi în excel. Pentru asta, avem nevoie de date. Mai jos avem câteva date despre vânzări a 8 vânzători.

Acum, să creăm un grafic sau o coloană cu ajutorul datelor de mai sus. Vom vedea mai jos, avem acum o diagramă cu coloane cu titlul Cantitate vândută și toate etichetele inserate.

Acum, sarcina noastră este să obținem acest grafic în diapozitivul PowerPoint așa cum se arată aici, cu titlul diagramei ca titlu al diapozitivei PowerPoint. Pentru aceasta, trebuie să activăm PowerPoint în VBA.

Urmați pașii de mai jos:

Pasul 1: Accesați meniul VBA Tool așa cum se arată mai jos și selectați opțiunea Referințe … așa cum se arată mai jos.

Pasul 2: odată ce facem acest lucru, vom primi un Windows Proiecte de referințe VBA. Din acea listă selectați MS PowerPoint 15.0 Object Library, așa cum se arată mai jos. Aceasta va activa toate comenzile legate de MS PowerPoint în VBA. Fără aceasta, nu putem rula VBA în PowerPoint. Bifează caseta Bibliotecii menționate și faceți clic pe Ok .

Pasul 3: Acum pentru a scrie codul pentru VBA PowerPoint, avem nevoie de un modul. Pentru a obține un modul nou, accesați meniul Insert și selectați o opțiune Modul, așa cum se arată mai jos.

Pasul 4: În acel modul scrieți subcategoria VBA PowerPoint sau în orice alt nume, după nevoia dvs., așa cum se arată mai jos.

Cod:

 Sub VBA_Prezentare () End Sub 

Pasul 5: Acum pentru a crea o prezentare cu ajutorul Chart in excel, avem nevoie de câteva variabile. Să luăm în considerare 5 variabile ca:

  1. Aplicație PAP pentru aplicația PowerPoint.
  2. PPT pentru prezentare PowerPoint,
  3. PPTSlide pentru PowerPoint Slide,
  4. Tipuri PPTS pentru PowerPoints,
  5. PPTCharts pentru obiectul grafic Excel.

Cod:

 Sub VBA_Presentation () Dim PAplication Ca PowerPoint.Application Dim PPT Ca PowerPoint.Presentation Dim PPTSlide ca PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject Sub Sub 

Pasul 6: Acum folosiți comanda Setare pentru a adăuga aplicație PowerPoint nouă, așa cum se arată mai jos.

Cod:

 Sub VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject Set PAplication = New PowerPoint.Application End Sub 

Pasul 7: Într-o linie de cod, faceți aplicația PowerPoint vizibilă și utilizați msoCTrue pentru evaluarea misterioasă a modului incorect. Și după aceea, aceeași aplicație va fi folosită ca Maximizată în PowerPoint pentru a obține vizualizarea completă.

Cod:

 Sub VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject Set PAplication = New PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState = ppWindowMaximized End Sub 

Pasul 8: Setați acum PPT, care este prezentarea noastră pentru a adăuga în aplicația MS PowerPoint,

Cod:

 Sub VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject Set PAplication = New PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState = ppWindowMaximized Set PPT = PAplication.Presentations.Add End End 

Pasul 9: Acum vom folosi o combinație de buclă For-Next și If-Else. Începând cu bucla For-Next.

Cod:

 Sub VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject Set PAplication = New PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState = ppWindowMaximized Set PPT = PAplication.Presentations.Add For Next End Sub 

Pasul 10: În Pentru bucla de PPTCharts, primele grafice active în excel.

Cod:

 Sub VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject Set PAplication = New PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState = ppWindowMaximized Set PPT = PAplication.Presentations.Add pentru fiecare PPTCharts în ActiveSheet.ChartObjects Următorul PPTCharts End Sub 

Pasul 11: Mai jos este codul pentru lipirea graficului de la excel la diapozitivul PowerPoint. Folosiți codul pentru a adăuga o diapozitivă în aplicația PAplication definită adăugând +1 diapozitiv de fiecare dată când rulăm codul.

Cod:

 Sub VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject Set PAplication = New PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState = ppWindowMaximized Set PPT = PAplication.Presentations.Add Pentru fiecare PPTCharts în ActiveSheet.ChartObjects PAplication.ActivePresentation.Slides.Add PAplication.ActivePresentation.Slides.Count + 1, ppLayoutText Următorul PPTCharts End Sub 

Pasul 12: Acum, după continuarea liniei următoare a codului, utilizați setul de cod de mai jos pentru a seta o vizualizare activă a ferestrei. Acest lucru va utiliza pentru a glisa după ce Chart este lipit în prezentarea PowerPoint.

Cod:

 Sub VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject Set PAplication = New PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState = ppWindowMaximized Set PPT = PAplication.Presentations.Add pentru fiecare PPTCharts în ActiveSheet.ChartObjects PAplication.ActivePresentation.Slides.Add PAplication.ActivePresentation.Slides.Count + 1, ppLayoutText PAplication.ActiveWindow.View.GotoSlide PAidelidePideside = PAplication.ActivePresentation.Slides (PAplication.ActivePresentation.Slides.Count) Următorul PPTCharts End Sub 

Pasul 13: Odată terminat, selectați variabila PPTChart pe care am definit-o mai devreme. După aceea copiați graficul activ selectat în zona grafică în care va fi plasat. Și utilizează comanda Paste Special pentru a lipi graficul cu imagini.

Cod:

 Sub VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject Set PAplication = New PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState = ppWindowMaximized Set PPT = PAplication.Presentations.Add pentru fiecare PPTCharts în ActiveSheet.ChartObjects PAplication.ActivePresentation.Slides.Add PAplication.ActivePresentation.Slides.Count + 1, ppLayoutText PAplication.ActiveWindow.View.GotoSlide PAidelidePideside = PAplication.ActivePresentation.Slides (PAplication.ActivePresentation.Slides.Count) PPTCharts.Select ActiveChart.ChartArea.Copy PPTSlide.Shapes.PasteSpecial (DataType: = ppPasteMetafilePicture) .Selectează Următorul PPTCharts End Sub Sub 

Pasul 14: Acum selectați forma Graficului care este la prima poziție ca interval de text. Și poartă același titlu care este „ Cantitatea vândută ” în prezentarea PowerPoint.

Cod:

 Sub VBA_Presentation () Dim PAplication As PowerPoint.Application Dim PPT As PowerPoint.Presentation Dim PPTSlide As PowerPoint.Slide Dim PPTShapes As PowerPoint.Shape Dim PPTCharts As Excel.ChartObject Set PAplication = New PowerPoint.Application PAplication.Visible = msoCTrue PAplication.WindowState = ppWindowMaximized Set PPT = PAplication.Presentations.Add pentru fiecare PPTCharts în ActiveSheet.ChartObjects PAplication.ActivePresentation.Slides.Add PAplication.ActivePresentation.Slides.Count + 1, ppLayoutText PAplication.ActiveWindow.View.GotoSlide PAidelidePideside = PAplication.ActivePresentation.Slides (PAplication.ActivePresentation.Slides.Count) PPTCharts.Select ActiveChart.ChartArea.Copy PPTSlide.Shapes.PasteSpecial (DataType: = ppPasteMetafilePicture) .Select PPTSlide.Shapes (1) .TextFrame. .Chart.ChartTitle.Text Următorul PPTCharts End Sub 

Aceasta completează codul pentru VBA PowerPoint.

Pasul 15: Acum compilați codul pas cu pas pentru a ști dacă vreo linie de cod are o eroare apăsând tasta funcțională F8. Și după aceea rulați codul făcând clic pe butonul Redare, care se află sub bara de meniu, așa cum se arată mai jos.

Vom obține graficul postat în fișierul PowerPoint în primul diapozitiv al acestuia, așa cum se arată mai jos.

Deoarece codul este mare, deci codul complet poate fi văzut în caseta de text de mai jos.

Beneficiile Excel VBA PowerPoint

  • Utilizarea VBA în Powerpoint face ușor de gestionat dacă un fișier ppt are atât de multe diapozitive cu conținut uriaș.
  • VBA cu Powerpoint oferă o notă de automatizare chiar și cu funcții limitate disponibile.

Contra de Excel VBA PowerPoint

  • Trebuie să selectăm Biblioteca de obiect Microsoft PowerPoint 15.0 din opțiunea de referință localizată în opțiunea meniu Instrument, de care avem nevoie la începutul exemplului-1, de fiecare dată când rulăm codul pentru PowerPoint.

Lucruri de amintit

  • Salvați fișierul în formatul Macro-Enable Presentation după scrierea codului. Acest lucru ne va ajuta să evităm pierderea codului și să utilizăm același timp multiplu în viitor.
  • Funcția de recodare nu va funcționa aici, deoarece trebuie să sărim de la Excel la PowerPoint schimbând interfața dintre pagini.
  • Compilați întotdeauna codul înainte de a rula. Acest lucru vă va ajuta să găsiți eroarea în cod. Acest lucru este destul de util când scriem linii mari de cod.
  • Pentru a rula și implementa codul, trebuie să deschidem foaia excel cu Chart pe care dorim să-l lipim în diapozitivul PowerPoint.
  • Putem alinia graficul în PowerPoint conform nevoilor noastre.

Articole recomandate

Acesta este un ghid pentru VBA PowerPoint. Aici vom discuta despre cum puteți crea PowerPoint Presentation din Excel folosind codul VBA împreună cu un exemplu practic și un șablon excel descărcabil. De asemenea, puteți parcurge și alte articole sugerate -

  1. Coloana Ștergere VBA
  2. Bara de stare în Excel
  3. VBA Eliminați duplicatele
  4. Creați o foaie de calcul în Excel