VBA PowerPoint - Samouczek VBA do tworzenia prezentacji Powerpoint

Spisie treści

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ć referencji PowerPoint VBA dla makr w MS PowerPoint.

Piękno języka 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 spędzają zwykle dużo czasu na przygotowaniu 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: jeden za pomocą „Early Binding”, a drugi „Late Binding”. Pokażemy Ci, jak stworzyć prezentację PowerPoint przy użyciu techniki „Early Binding” .

Zazwyczaj w programie excel przygotowujemy prezentacje na podstawie wykresów i interpretacji wykresów. W tym celu utworzyłem kilka prostych wykresów Excela i 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. 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 PPCharts jako Excel.ChartObject

Ok, żeby 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 wystarczy uruchomić 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.

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

Interesujące artykuły...