VBA PowerPoint

Excel VBA PowerPoint

Używając VBA, możemy zautomatyzować pracę, którą wykonujemy dla PowerPointa, ale najpierw, aby użyć kodu VBA lub fragmentów do pracy w PowerPoint, najpierw przejdź przez opcje bezpieczeństwa w PowerPoint, aby włączyć wszystkie makra, a następnie możemy użyć odniesienia PowerPoint VBA dla makr w MS PowerPoint.

Piękno VBA polega na tym, że możemy odnosić się do innych produktów firmy Microsoft, takich jak „Microsoft Word” i „Microsoft PowerPoint”. Zwykle tworzymy raporty w Excelu, a następnie tworzymy prezentacje PowerPoint. Wszyscy użytkownicy programu Excel poświęcają zwykle dużo czasu na przygotowanie prezentacji na podstawie danych i raportów programu Excel. Jeśli spędzasz dużo czasu na przygotowywaniu prezentacji PowerPoint, ten samouczek pokaże Ci, jak utworzyć prezentację PowerPoint z samego programu Excel przy użyciu kodowania VBA.

Włącz model obiektów programu PowerPoint

Krok 1: Otwórz Edytor VBA, a następnie przejdź do Narzędzia i referencje.

Krok 2: Teraz zobaczysz wszystkie odniesienia do projektu VBA. Przewiń w dół i wybierz „Biblioteka obiektów Microsoft PowerPoint 15.0”.

Krok 3: Kliknij OK. Teraz możemy uzyskać dostęp do programu PowerPoint z programu Excel.

Samouczek VBA do tworzenia prezentacji PowerPoint

Możemy utworzyć PPT na dwa sposoby, używając „Early Binding” i drugiego „Late Binding”. Pokażemy Ci, jak stworzyć prezentację PowerPoint przy użyciu techniki „Early Binding” .

Możesz pobrać ten szablon VBA PowerPoint Excel tutaj - szablon VBA PowerPoint Excel

Zazwyczaj w programie excel przygotowujemy prezentacje na podstawie wykresów i interpretacji wykresów. W tym celu stworzyłem kilka prostych wykresów Excela i ich interpretacji w tym samym arkuszu.

Krok 1: Uruchom podprogram w vba. Aby uzyskać dostęp do programu PowerPoint, włączyliśmy już model obiektów programu PowerPoint we wcześniejszych krokach, teraz, aby uzyskać do niego dostęp, musimy zadeklarować zmienną jako PowerPoint.Application.

Kod:

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

Krok 2: Aby dodać prezentację do PowerPointa, musimy zadeklarować zmienną jako PowerPoint.Prezentacja.

Kod:

 Przyciemnij prezentację PPP jako prezentację PowerPoint

Krok 3: Po dodaniu prezentacji do PowerPointa musimy dodać Slajd. Aby zadeklarować zmienną jako PowerPoint.Slide

Kod:

 Przyciemnij PPSlide jako PowerPoint.Slide

Krok 4: Po dodaniu slajdu do PowerPointa musimy wykorzystać kształty w PowerPoint, tj. Pola tekstowe. Aby zadeklarować zmienną jako PowerPoint.Shape

Kod:

 Przyciemnij kształt PPS jako PowerPoint.Shape

Krok 5: Teraz, aby uzyskać dostęp do wszystkich wykresów w arkuszu, musimy zadeklarować zmienną jako Excel.ChartObjects.

Kod:

 Przyciemnij wykresy PPChart jako Excel.ChartObject

Ok, aby rozpocząć postępowanie, te zmienne wystarczą.

Krok 6: Teraz musimy uruchomić PowerPoint z programu Excel. Ponieważ jest to obiekt zewnętrzny, musimy ustawić go jako nowy powerpoint.

Kod:

 Ustaw PPApp = New PowerPoint.Application

Spowoduje to uruchomienie nowego programu PowerPoint z programu Excel.

Krok 7: Teraz zmienna PPApp jest równa uruchomionemu PowerPointowi. Teraz spraw, aby ten PowerPoint był widoczny i zmaksymalizuj okno.

 Kod:

PPApp.Visible = msoCTrue PPApp.WindowState = ppWindowMaximized

W tym momencie po prostu uruchom kod za pomocą klawisza F5 lub ręcznie, powinieneś zobaczyć aplikację PowerPoint uruchomioną jak poniżej.

Krok 8: Teraz musimy dodać prezentację do uruchomionej aplikacji PowerPoint.

Kod:

 Ustaw PPPresentation = PPApp.Presentations.Add

Teraz powinniśmy zobaczyć taką prezentację PowerPointa.

Krok 9: Po dodaniu prezentacji musimy dodać slajd.

Kod:

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

Teraz spowoduje to dodanie slajdu tytułowego, takiego jak poniżej.

Krok 10:   Teraz mamy więcej niż jeden wykres w arkuszu, musimy przejść przez każdy wykres i wkleić go do prezentacji. Poniżej znajduje się kod do skopiowania i wklejenia wykresu oraz interpretacja.

Poniżej znajduje się pełny kod dla Ciebie.

 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