(Solved) – Reverse engineer the VBA code you need to produce graphs in a slide

(solved)-–-reverse-engineer-the-vba-code-you-need-to-produce-graphs-in-a-slide

I am looking for a way to kind of re-engineer the VBA code I need to create a certain visual in PowerPoint.

For example purposes let’s say, I want to create code to create this:

enter image description here

Right now I have wrote the following VBA code that allows you highlight the shapes used in the powerpoint:

Sub ListAllShapes()

Dim curSlide As Slide
Dim curShape As Shape

For Each curSlide In ActivePresentation.Slides
    Debug.Print curSlide.SlideNumber
    For Each curShape In curSlide.Shapes


                MsgBox curShape.Name


    Next curShape
Next curSlide
End Sub

If I run this with my example I get the following output:

Autoshape 7

However when I then lookup the Shape.name here: https://docs.microsoft.com/en-us/office/vba/api/office.msoautoshapetype I see that Autoshpape 7 is msoShapeIsoscelesTriangle. If I then insert the following code:

Sub InsertShape()

Set myDocument = ActivePresentation.Slides(1)
myDocument.Shapes.AddShape Type:=msoShapeIsoscelesTriangle, _
    Left:=50, Top:=50, Width:=100, Height:=200


End Sub

I get a different graph, any thoughts on where I am going wrong?

enter image description here

Leave a Reply

Your email address will not be published. Required fields are marked *