I’ve been working on a project which involves adding shapes to a PowerPoint slide using VBA.

One big big problem with PowerPoint is that there is no longer any macro recorder. This means you can’t get information about methods and properties by recording the steps you perform to, for example, add a shape to a slide. In other programs you can get a lot of  useful information from recorded macros – in PowerPoint – nada!

So, if you, like me are struggling to make sense of a language that uses such wonderfully nonsensical properties like TextFrame.TextRange then here is the benefit of my research.

Here, in no particular order, is a grab bag of MSDN articles and references for adding and formatting (and adding text to) shapes in PowerPoint using VBA. Enjoy! and if you have any additional useful resources, please add them to the comments to keep us all from going crazy!

Constants to use with the SchemeColor property


ColorFormat object

Properties you can use to color an object – eg its fill, font, outline and so on:

TextRange.font property

How to configure a font for a shape:

LineFormat object

How to configure the line and arrowhead for a line or shape with a border

Shapes Object

How to create a shape on a PowerPoint slide

Shape.height property

Measured in (Oh so helpful) points (72 to the inch)

Shapes members

Some things you can add to a slide:

Shapes.AddShape method

How to add a shape to a PowerPoint slide:

An explanation of working with text in a shape

aka Microsoft’s attempt to explain why you need to use TextFrame.TextRange to add text to a shape!:

The MsoAutoShapeType Enumeration

ie how you can find what a shape is called so you can add it to a slide:

ParagraphFormat.Alignment property

How to align text in a shape in PowerPoint – :

Info on the TextFrame.TextRange property in PowerPoint:


Info about the TextFrame members in PowerPoint:


Helen Bradley