VBA PowerPoint - Výukový program VBA na vytvorenie prezentácie v Powerpointe

Excel VBA PowerPoint

Pomocou VBA môžeme automatizovať prácu, ktorú robíme pre PowerPoint, ale najskôr, aby sme mohli používať kód alebo úryvky VBA na prácu v PowerPointe, najskôr prepracujte možnosti zabezpečenia v PowerPointe, aby sme povolili všetky makrá, a potom môžeme použiť odkaz na PowerPoint VBA pre makrá v MS Power Point.

Krása VBA spočíva v tom, že môžeme odkazovať na ďalšie produkty spoločnosti Microsoft, ako napríklad „Microsoft Word“ a „Microsoft PowerPoint“. Zvyčajne vytvárame správy v programe Excel a potom vytvárame prezentácie v PowerPointe. Všetci používatelia programu Excel zvyčajne trávia značné množstvo času prípravou prezentácie z údajov a správ programu Excel. Ak trávite značné množstvo času prípravou prezentácií v PowerPointe, tento tutoriál vám ukáže, ako vytvoriť prezentáciu v PowerPointe zo samotného programu Excel pomocou kódovania VBA.

Povoliť objektový model programu Powerpoint

Krok 1: Otvorte editor VBA a potom prejdite na Nástroje a referencie.

Krok 2: Teraz uvidíte všetky odkazy na projekt VBA. Posuňte sa nadol a vyberte „Objektová knižnica Microsoft PowerPoint 15.0“.

Krok 3: Kliknite na, OK. Teraz máme prístup k PowerPointu z Excelu.

Výukový program VBA na vytvorenie prezentácie v PowerPointe

PPT môžeme vytvoriť dvojakým spôsobom, a to pomocou „Early Binding“ a druhým pomocou „Late Binding“. Ukážeme vám, ako vytvoriť prezentáciu v PowerPointe technikou „Early Binding“ .

Zvyčajne z programu Excel pripravujeme prezentácie na základe tabuliek a interpretácie tabuliek. Preto som za týmto účelom vytvoril niekoľko jednoduchých tabuliek a interpretácií programu Excel v rovnakom pracovnom hárku.

Krok 1: Spustite podprogram vo VBA. Teraz pre prístup k programu PowerPoint sme už v predchádzajúcich krokoch povolili objektový model programu PowerPoint. Aby sme k tomu mali prístup, musíme premennú deklarovať ako PowerPoint.Application.

Kód:

Sub PPT_Example () Dim PPApp as PowerPoint.Application End Sub

Krok 2: Ak chcete pridať prezentáciu do PowerPointu, musíme deklarovať premennú ako PowerPoint.Presentation.

Kód:

 Dim PPPresentation as PowerPoint.Presentation

Krok 3: Po pridaní prezentácie do aplikácie PowerPoint musíme pridať snímku. Deklarovať premennú ako PowerPoint.Slide

Kód:

Dim PPSlide as PowerPoint.Slide

Krok 4: Po pridaní snímky do aplikácie PowerPoint musíme v aplikácii PowerPoint použiť tvary, tj textové polia. Deklarovať premennú ako PowerPoint.Shape

Kód:

Dim PPShape ako PowerPoint.Shape

Krok 5: Teraz, aby sme mali prístup ku všetkým grafom v pracovnom hárku, musíme premennú deklarovať ako Excel.ChartObjects.

Kód:

Stlmiť PPCharts ako Excel.ChartObject

Ok, na začatie konania stačia tieto premenné.

Krok 6: Teraz musíme spustiť PowerPoint z programu Excel. Pretože sa jedná o externý objekt, musíme ho nastaviť ako nový PowerPoint.

Kód:

Nastavte PPApp = New PowerPoint.Application

Týmto sa spustí nový PowerPoint z programu Excel.

Krok 7: Teraz sa premenná PPApp rovná PowerPointu, ktorý sme spustili. Teraz zviditeľnite tento PowerPoint a maximalizujte okno.

Kód:

PPApp.Visible = msoCTrue PPApp.WindowState = ppWindowMaximized

V tomto okamihu stačí spustiť kód pomocou klávesu F5 alebo manuálne. Mali by ste vidieť spustenú aplikáciu PowerPoint ako nižšie.

Krok 8: Teraz musíme pridať prezentáciu do aplikácie PowerPoint, ktorú sme spustili.

Kód:

Nastaviť PPPresentation = PPApp.Presentations.Add

Teraz by sme sa mali dočkať takto prezentácie v PowerPointe.

Step 9: After adding the presentation, we need to add a slide.

Code:

Set PPSlide = PPPresentation.Slides.Add(1, ppLayoutTitleOnly)

Now this will add the title slide like the below.

Step 10: Now we have more than one chart in the worksheet, we need to loop through each chart and paste in the presentation. Below is the code to copy and paste the chart as well as interpretation.

Below is the complete code for you.

Sub PPT_Example() Dim PPApp As PowerPoint.Application Dim PPPresentation As PowerPoint.Presentation Dim PPSlide As PowerPoint.Slide Dim PPShape As PowerPoint.Shape Dim PPCharts As Excel.ChartObject Set PPApp = New PowerPoint.Application PPApp.Visible = msoCTrue PPApp.WindowState = ppWindowMaximized 'Add Presentation Set PPPresentation = PPApp.Presentations.Add 'Loop through each chart in the Excel and paste into the PowerPoint For Each PPCharts In ActiveSheet.ChartObjects PPApp.ActivePresentation.Slides.Add PPApp.ActivePresentation.Slides.Count + 1, ppLayoutText PPApp.ActiveWindow.View.GotoSlide PPApp.ActivePresentation.Slides.Count Set PPSlide = PPApp.ActivePresentation.Slides(PPApp.ActivePresentation.Slides.Count) 'Copy the chart and paste in Powerpoint PPCharts.Select ActiveChart.ChartArea.Copy PPSlide.Shapes.PasteSpecial(DataType:=ppPasteMetafilePicture).Select 'Add heading to the slide PPSlide.Shapes(1).TextFrame.TextRange.Text = PPCharts.Chart.ChartTitle.Text 'Allignment of the chart PPApp.ActiveWindow.Selection.ShapeRange.Left = 15 PPApp.ActiveWindow.Selection.ShapeRange.Top = 125 PPSlide.Shapes(2).Width = 200 PPSlide.Shapes(2).Left = 505 'Add interpretation If InStr(PPSlide.Shapes(1).TextFrame.TextRange.Text, "Region") Then PPSlide.Shapes(2).TextFrame.TextRange.Text = Range("K2").Value & vbNewLine PPSlide.Shapes(2).TextFrame.TextRange.InsertAfter (Range("K3").Value & vbNewLine) 'Else if the chart is the "Renewable" consumption chart, then enter the appropriate comments ElseIf InStr(PPSlide.Shapes(1).TextFrame.TextRange.Text, "Month") Then PPSlide.Shapes(2).TextFrame.TextRange.Text = Range("K20").Value & vbNewLine PPSlide.Shapes(2).TextFrame.TextRange.InsertAfter (Range("K21").Value & vbNewLine) PPSlide.Shapes(2).TextFrame.TextRange.InsertAfter (Range("K22").Value & vbNewLine) End If 'Now let's change the font size of the callouts box PPSlide.Shapes(2).TextFrame.TextRange.Font.Size = 16 Next PPCharts End Sub

Zaujímavé články...