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 ExcelZazwyczaj 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