VBA PowerPoint

Excel VBA PowerPoint

Mit VBA können wir die Arbeit für PowerPoint automatisieren. Um jedoch VBA-Code oder Snippets 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 von Excel aus auf PowerPoint zugreifen.

VBA-Lernprogramm zum Erstellen einer PowerPoint-Präsentation

Wir können PPT auf zwei Arten erstellen, eine mit „Early Binding“ und eine andere mit „Late Binding“. Wir zeigen Ihnen, wie Sie eine PowerPoint-Präsentation mithilfe der Technik „Frühes Binden“ erstellen .

Sie können diese VBA PowerPoint Excel-Vorlage hier herunterladen - VBA PowerPoint Excel-Vorlage

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. Um auf PowerPoint zugreifen zu können, haben wir das PowerPoint-Objektmodell bereits in den vorherigen Schritten aktiviert. Um darauf zuzugreifen, 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: Nach dem Hinzufügen der Präsentation zum PowerPoint müssen wir 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 nun 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, reichen diese Variablen aus.

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

Code:

 Setzen Sie PPApp = New PowerPoint.Application

Dadurch wird das neue PowerPoint von Excel 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

In diesem Moment führen Sie 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.

Schritt 9: Nach dem Hinzufügen der Präsentation müssen wir eine Folie hinzufügen.

Code:

 Setzen Sie PPSlide = PPPresentation.Slides.Add (1, ppLayoutTitleOnly)

Nun wird die Titelfolie wie folgt hinzugefügt.

Schritt 10:   Jetzt haben wir mehr als ein Diagramm im Arbeitsblatt, das wir durch jedes Diagramm durchlaufen und in die Präsentation einfügen müssen. Unten finden Sie den Code zum Kopieren und Einfügen des Diagramms sowie die Interpretation.

Unten finden Sie den vollständigen Code für Sie.

 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