VBA PowerPoint - Tutoriel VBA pour créer une présentation Powerpoint

Table des matières

Excel VBA PowerPoint

En utilisant VBA, nous pouvons automatiser le travail que nous faisons pour PowerPoint, mais d'abord pour utiliser du code ou des extraits de code VBA pour travailler dans PowerPoint, commencez par utiliser les options de sécurité de PowerPoint pour activer toutes les macros, puis nous pouvons utiliser la référence PowerPoint VBA pour les macros dans MS Power Point.

La beauté de VBA est que nous pouvons référencer d'autres produits Microsoft tels que «Microsoft Word» et «Microsoft PowerPoint». Nous créons généralement des rapports dans Excel, puis nous créons des présentations PowerPoint. Tous les utilisateurs d'Excel passent généralement un temps considérable à préparer la présentation à partir de données et de rapports Excel. Si vous passez beaucoup de temps à préparer des présentations PowerPoint, ce didacticiel vous montrera comment créer une présentation PowerPoint à partir d'Excel lui-même à l'aide du codage VBA.

Activer le modèle d'objet Powerpoint

Étape 1: Ouvrez l'éditeur VBA, puis accédez à Outils et références.

Étape 2: Maintenant, vous verrez toutes les références au projet VBA. Faites défiler vers le bas et sélectionnez «Bibliothèque d'objets Microsoft PowerPoint 15.0».

Étape 3: Cliquez sur OK. Maintenant, nous pouvons accéder à PowerPoint à partir d'Excel.

Tutoriel VBA pour créer une présentation PowerPoint

Nous pouvons créer PPT de deux manières en utilisant «Early Binding», et une autre en utilisant «Late Binding». Nous allons vous montrer comment créer une présentation PowerPoint en utilisant la technique de «Early Binding» .

Habituellement, à partir d'Excel, nous préparons des présentations basées sur des graphiques et l'interprétation des graphiques. Donc, à cette fin, j'ai créé des graphiques Excel simples et des interprétations dans la même feuille de calcul.

Étape 1: Démarrez le sous-programme dans VBA. Maintenant, pour accéder à PowerPoint, nous avons déjà activé le modèle d'objet PowerPoint dans les étapes précédentes, maintenant. Pour y accéder, nous devons déclarer la variable comme PowerPoint.Application.

Code:

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

Étape 2: Pour ajouter la présentation à PowerPoint, nous devons déclarer une variable en tant que PowerPoint.Presentation.

Code:

 Dim PPPresentation As PowerPoint.Presentation

Étape 3: Après avoir ajouté la présentation à PowerPoint, nous devons ajouter une diapositive. Pour déclarer la variable comme PowerPoint.Slide

Code:

Dim PPSlide comme PowerPoint.Slide

Étape 4: Une fois la diapositive ajoutée à PowerPoint, nous devons utiliser des formes dans PowerPoint, c'est-à-dire des zones de texte. Pour déclarer une variable en tant que PowerPoint.Shape

Code:

Dim PPShape comme PowerPoint.Shape

Étape 5: Maintenant, pour accéder à tous les graphiques de la feuille de calcul, nous devons déclarer la variable comme Excel.ChartObjects.

Code:

Dim PPCharts comme Excel.ChartObject

Ok, pour commencer la procédure, ces variables suffisent.

Étape 6: Maintenant, nous devons lancer PowerPoint à partir d'Excel. Puisqu'il s'agit d'un objet externe, nous devons le définir comme un nouveau PowerPoint.

Code:

Définissez PPApp = New PowerPoint.Application

Cela lancera le nouveau PowerPoint d'Excel.

Étape 7: Maintenant, la variable PPApp est égale au PowerPoint que nous avons lancé. Rendez maintenant ce PowerPoint visible et agrandissez la fenêtre.

Code:

PPApp.Visible = msoCTrue PPApp.WindowState = ppWindowMaximized

À ce moment, exécutez simplement le code à l'aide de la touche F5 ou manuellement. Vous devriez voir l'application PowerPoint lancée comme celle ci-dessous.

Étape 8: Nous devons maintenant ajouter une présentation à l'application PowerPoint que nous avons lancée.

Code:

Définir PPPresentation = PPApp.Presentations.Add

Nous devrions maintenant voir la présentation PowerPoint comme celle-ci.

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

Articles intéressants...