VBA PowerPoint

Excel VBA PowerPoint

En utilisant VBA, nous pouvons automatiser le travail que nous faisons pour PowerPoint, mais d'abord pour utiliser du code VBA ou des extraits de code 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 comme «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 en utilisant le 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: Vous verrez maintenant 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 «Early Binding» .

Vous pouvez télécharger ce modèle Excel VBA PowerPoint ici - Modèle Excel VBA PowerPoint

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 une interprétation 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 les zones de texte PowerPoint, c'est-à-dire. 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: Nous devons maintenant 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

Pour le 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.

Étape 9: Après avoir ajouté la présentation, nous devons ajouter une diapositive.

Code:

 Définir PPSlide = PPPresentation.Slides.Add (1, ppLayoutTitleOnly)

Maintenant, cela ajoutera la diapositive de titre comme ci-dessous.

Étape 10:   Maintenant, nous avons plus d'un graphique dans la feuille de calcul, nous devons parcourir chaque graphique et coller dans la présentation. Vous trouverez ci-dessous le code pour copier et coller le graphique ainsi que l'interprétation.

Vous trouverez ci-dessous le code complet pour vous.

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' Parcourez chaque graphique dans Excel et collez-le dans 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) 'Copiez le graphique et collez-le dans Powerpoint PPCharts.Select ActiveChart.ChartArea.Slides.Copy PPS .PasteSpecial (Type de données:= ppPasteMetafilePicture) .Select 'Ajouter un titre à la diapositive PPSlide.Shapes (1) .TextFrame.TextRange.Text = PPCharts.Chart.ChartTitle.Text' Affectation du graphique PPApp.ActiveWindow.Selection.ShapectRange.Left = 15 PWindow.Allignment. .Selection.ShapeRange.Top = 125 PPSlide.Shapes (2) .Width = 200 PPSlide.Shapes (2) .Left = 505 'Ajouter une interprétation If InStr (PPSlide.Shapes (1) .TextFrame.TextRange.Text, "Region" ) Puis PPSlide.Shapes (2) .TextFrame.TextRange.Text = Range ("K2"). Value & vbNewLine PPSlide.Shapes (2) .TextFrame.TextRange.InsertAfter (Range ("K3"). Value & vbNewLine) ' Sinon, si le graphique est le graphique de consommation "Renouvelable", entrez les commentaires appropriés. ElseIf InStr (PPSlide.Shapes (1) .TextFrame.TextRange.Text, "Month") Puis PPSlide.Shapes (2) .TextFrame.TextRange.Text = Plage ("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 'Modifions maintenant la taille de la police de la boîte de légende PPSlide.Shapes (2) .TextFrame.TextRange.Font.Size = 16 Next PPCharts End Sub