VBA PowerPoint - VBA-Lernprogramm zum Erstellen einer Powerpoint-Präsentation

Inhaltsverzeichnis

Excel VBA PowerPoint

Mit VBA können wir die Arbeit für PowerPoint automatisieren. Um jedoch VBA-Code oder -Schnipsel für Powerpoint zu verwenden, müssen Sie zuerst die Sicherheitsoptionen in PowerPoint durcharbeiten, um alle Makros zu aktivieren, und dann die PowerPoint VBA-Referenz für Makros in MS verwenden Power Point.

Das Schöne an VBA ist, dass wir auf andere Microsoft-Produkte wie "Microsoft Word" und "Microsoft PowerPoint" verweisen können. Normalerweise erstellen wir Berichte in Excel und anschließend PowerPoint-Präsentationen. Alle Excel-Benutzer verbringen normalerweise viel Zeit damit, die Präsentation aus Excel-Daten und Berichten vorzubereiten. Wenn Sie viel Zeit mit der Vorbereitung von PowerPoint-Präsentationen verbringen, zeigt Ihnen dieses Lernprogramm, wie Sie mithilfe von VBA-Codierung eine PowerPoint-Präsentation aus Excel selbst erstellen.

Aktivieren Sie das Powerpoint-Objektmodell

Schritt 1: Öffnen Sie den VBA-Editor und gehen Sie dann zu Extras und Referenzen.

Schritt 2: Jetzt sehen Sie alle Verweise auf das VBA-Projekt. Scrollen Sie nach unten und wählen Sie "Microsoft PowerPoint 15.0-Objektbibliothek".

Schritt 3: Klicken Sie auf OK. Jetzt können wir über Excel auf PowerPoint zugreifen.

VBA-Lernprogramm zum Erstellen einer PowerPoint-Präsentation

Wir können PPT auf zwei Arten erstellen, indem wir "Frühbindung" verwenden und eine andere "Spätbindung". Wir zeigen Ihnen, wie Sie eine PowerPoint-Präsentation mit der Technik „Frühes Binden“ erstellen .

Normalerweise bereiten wir von Excel aus Präsentationen vor, die auf Diagrammen und der Interpretation der Diagramme basieren. Zu diesem Zweck habe ich einige einfache Excel-Diagramme und Interpretationen im selben Arbeitsblatt erstellt.

Schritt 1: Starten Sie das Unterprogramm in VBA. Für den Zugriff auf PowerPoint haben wir das PowerPoint-Objektmodell bereits in den vorherigen Schritten aktiviert. Um darauf zugreifen zu können, müssen wir die Variable als PowerPoint.Application deklarieren.

Code:

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

Schritt 2: Um die Präsentation zu PowerPoint hinzuzufügen, müssen Sie eine Variable als PowerPoint.Presentation deklarieren.

Code:

 Dim PPPresentation As PowerPoint.Presentation

Schritt 3: Nachdem Sie die Präsentation zum PowerPoint hinzugefügt haben, müssen Sie Folie hinzufügen. Deklarieren der Variablen als PowerPoint.Slide

Code:

PPSlide als PowerPoint.Slide dimmen

Schritt 4: Sobald die Folie zu PowerPoint hinzugefügt wurde, müssen Formen in PowerPoint verwendet werden, dh Textfelder. So deklarieren Sie eine Variable als PowerPoint.Shape

Code:

PPShape als PowerPoint.Shape dimmen

Schritt 5: Um auf alle Diagramme im Arbeitsblatt zugreifen zu können, müssen Sie die Variable als Excel.ChartObjects deklarieren.

Code:

PPCharts als Excel.ChartObject dimmen

Ok, um das Verfahren zu starten, sind diese Variablen ausreichend.

Schritt 6: Jetzt müssen wir PowerPoint von Excel aus starten. Da es sich um ein externes Objekt handelt, müssen wir dies als neues PowerPoint festlegen.

Code:

Setzen Sie PPApp = New PowerPoint.Application

Dadurch wird das neue PowerPoint von Excel aus gestartet.

Schritt 7: Jetzt entspricht die Variable PPApp dem von uns gestarteten PowerPoint. Machen Sie nun dieses PowerPoint sichtbar und maximieren Sie das Fenster.

Code:

PPApp.Visible = msoCTrue PPApp.WindowState = ppWindowMaximized

Führen Sie in diesem Moment den Code einfach mit der Taste F5 oder manuell aus. Die PowerPoint-App sollte wie folgt gestartet werden.

Schritt 8: Jetzt müssen wir der von uns gestarteten PowerPoint-App eine Präsentation hinzufügen.

Code:

Setzen Sie PPPresentation = PPApp.Presentations.Add

Jetzt sollten wir die PowerPoint-Präsentation so sehen.

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

Interessante Beiträge...