AutoShape Types — MsoAutoShapeType

Created: 2026-05-31 · Updated: 2026-05-31

PPPTools Reference

ppptools.AddShape(type, x, y, w, h) supports all values of the MsoAutoShapeType enum. This page shows the most common types organized by category with direct code examples.

Full Microsoft reference: MsoAutoShapeType (learn.microsoft.com)


Basic Shapes

// Rectangle — shorthand: ppptools.AddRect(x, y, w, h)
ppptools.AddShape(MsoAutoShapeType.msoShapeRectangle,         100, 100, 200, 120);
// Rounded Rectangle
ppptools.AddShape(MsoAutoShapeType.msoShapeRoundedRectangle,  100, 100, 200, 120);
// Oval / Circle — shorthand: ppptools.AddOval(x, y, w, h)
ppptools.AddShape(MsoAutoShapeType.msoShapeOval,              100, 100, 120, 120);
// Triangle
ppptools.AddShape(MsoAutoShapeType.msoShapeIsoscelesTriangle, 100, 100, 150, 130);
ppptools.AddShape(MsoAutoShapeType.msoShapeRightTriangle,     100, 100, 150, 130);
// Diamond
ppptools.AddShape(MsoAutoShapeType.msoShapeDiamond,           100, 100, 150, 150);
// Parallelogram / Trapezoid
ppptools.AddShape(MsoAutoShapeType.msoShapeParallelogram,     100, 100, 200, 100);
ppptools.AddShape(MsoAutoShapeType.msoShapeTrapezoid,         100, 100, 200, 100);
// Cross / Plus
ppptools.AddShape(MsoAutoShapeType.msoShapeCross,             100, 100, 150, 150);
// Smiley
ppptools.AddShape(MsoAutoShapeType.msoShapeSmileyFace,        100, 100, 120, 120);
// Lightning Bolt / Explosion
ppptools.AddShape(MsoAutoShapeType.msoShapeLightningBolt,     100, 100, 120, 150);
ppptools.AddShape(MsoAutoShapeType.msoShape4pointStar,        100, 100, 150, 150);
// Heart
ppptools.AddShape(MsoAutoShapeType.msoShapeHeart,             100, 100, 130, 130);
// Crescent Moon
ppptools.AddShape(MsoAutoShapeType.msoShapeMoon,              100, 100, 100, 130);

Polygons

ppptools.AddShape(MsoAutoShapeType.msoShapeRegularPentagon,   100, 100, 150, 150); // 5-sided
ppptools.AddShape(MsoAutoShapeType.msoShapeHexagon,           100, 100, 150, 130); // 6-sided
ppptools.AddShape(MsoAutoShapeType.msoShapeHeptagon,          100, 100, 150, 150); // 7-sided
ppptools.AddShape(MsoAutoShapeType.msoShapeOctagon,           100, 100, 150, 150); // 8-sided
ppptools.AddShape(MsoAutoShapeType.msoShapeDecagon,           100, 100, 150, 150); // 10-sided
ppptools.AddShape(MsoAutoShapeType.msoShapeDodecagon,         100, 100, 150, 150); // 12-sided

Process Shapes (Arrows & Flowchart Elements)

// Pentagon (process step)
ppptools.AddShape(MsoAutoShapeType.msoShapePentagon,          100, 100, 180,  80);
// Chevron (offset step)
ppptools.AddShape(MsoAutoShapeType.msoShapeChevron,           100, 100, 180,  80);
// Striped Right Arrow
ppptools.AddShape(MsoAutoShapeType.msoShapeStripedRightArrow, 100, 100, 200,  80);
// Notched Right Arrow
ppptools.AddShape(MsoAutoShapeType.msoShapeNotchedRightArrow, 100, 100, 200,  80);

Block Arrows

ppptools.AddShape(MsoAutoShapeType.msoShapeRightArrow,        100, 100, 200,  80);
ppptools.AddShape(MsoAutoShapeType.msoShapeLeftArrow,         100, 100, 200,  80);
ppptools.AddShape(MsoAutoShapeType.msoShapeUpArrow,           100, 100,  80, 200);
ppptools.AddShape(MsoAutoShapeType.msoShapeDownArrow,         100, 100,  80, 200);
ppptools.AddShape(MsoAutoShapeType.msoShapeLeftRightArrow,    100, 100, 200,  80);
ppptools.AddShape(MsoAutoShapeType.msoShapeUpDownArrow,       100, 100,  80, 200);
ppptools.AddShape(MsoAutoShapeType.msoShapeQuadArrow,         100, 100, 150, 150);
// Bent Arrow
ppptools.AddShape(MsoAutoShapeType.msoShapeBentArrow,         100, 100, 200, 150);
ppptools.AddShape(MsoAutoShapeType.msoShapeUTurnArrow,        100, 100, 150, 180);
// Circular Arrow
ppptools.AddShape(MsoAutoShapeType.msoShapeCircularArrow,     100, 100, 150, 150);
// Double Arrows
ppptools.AddShape(MsoAutoShapeType.msoShapeLeftRightUpArrow,  100, 100, 150, 150);

Stars & Ribbons

ppptools.AddShape(MsoAutoShapeType.msoShape4pointStar,        100, 100, 150, 150);
ppptools.AddShape(MsoAutoShapeType.msoShape5pointStar,        100, 100, 150, 150);
ppptools.AddShape(MsoAutoShapeType.msoShape6pointStar,        100, 100, 150, 150);
ppptools.AddShape(MsoAutoShapeType.msoShape7pointStar,        100, 100, 150, 150);
ppptools.AddShape(MsoAutoShapeType.msoShape8pointStar,        100, 100, 150, 150);
ppptools.AddShape(MsoAutoShapeType.msoShape10pointStar,       100, 100, 150, 150);
ppptools.AddShape(MsoAutoShapeType.msoShape12pointStar,       100, 100, 150, 150);
ppptools.AddShape(MsoAutoShapeType.msoShape16pointStar,       100, 100, 150, 150);
ppptools.AddShape(MsoAutoShapeType.msoShape24pointStar,       100, 100, 150, 150);
ppptools.AddShape(MsoAutoShapeType.msoShape32pointStar,       100, 100, 150, 150);
// Ribbons / Scrolls
ppptools.AddShape(MsoAutoShapeType.msoShapeHorizontalScroll,  100, 100, 200, 100);
ppptools.AddShape(MsoAutoShapeType.msoShapeVerticalScroll,    100, 100, 100, 200);
ppptools.AddShape(MsoAutoShapeType.msoShapeWave,              100, 100, 200,  80);
ppptools.AddShape(MsoAutoShapeType.msoShapeDoubleWave,        100, 100, 200,  80);

Callouts / Speech Bubbles

ppptools.AddShape(MsoAutoShapeType.msoShapeRectangularCallout,          100, 100, 200, 120);
ppptools.AddShape(MsoAutoShapeType.msoShapeRoundedRectangularCallout,   100, 100, 200, 120);
ppptools.AddShape(MsoAutoShapeType.msoShapeOvalCallout,                 100, 100, 200, 130);
ppptools.AddShape(MsoAutoShapeType.msoShapeCloudCallout,                100, 100, 200, 150);
ppptools.AddShape(MsoAutoShapeType.msoShapeLineCallout1,                100, 100, 200, 100);
ppptools.AddShape(MsoAutoShapeType.msoShapeLineCallout2,                100, 100, 200, 100);

Flowchart Symbols

All begin with msoShapeFlowchart:

ppptools.AddShape(MsoAutoShapeType.msoShapeFlowchartProcess,            100, 100, 150, 100); // Process
ppptools.AddShape(MsoAutoShapeType.msoShapeFlowchartDecision,           100, 100, 150, 110); // Decision (diamond)
ppptools.AddShape(MsoAutoShapeType.msoShapeFlowchartTerminator,         100, 100, 150,  80); // Start/End
ppptools.AddShape(MsoAutoShapeType.msoShapeFlowchartDocument,           100, 100, 150, 100); // Document
ppptools.AddShape(MsoAutoShapeType.msoShapeFlowchartMultidocument,      100, 100, 160, 110); // Multiple documents
ppptools.AddShape(MsoAutoShapeType.msoShapeFlowchartData,               100, 100, 150, 100); // Data (parallelogram)
ppptools.AddShape(MsoAutoShapeType.msoShapeFlowchartPredefinedProcess,  100, 100, 150, 100); // Predefined process
ppptools.AddShape(MsoAutoShapeType.msoShapeFlowchartInternalStorage,    100, 100, 150, 150); // Internal storage
ppptools.AddShape(MsoAutoShapeType.msoShapeFlowchartManualInput,        100, 100, 150, 100); // Manual input
ppptools.AddShape(MsoAutoShapeType.msoShapeFlowchartManualOperation,    100, 100, 150, 100); // Manual operation
ppptools.AddShape(MsoAutoShapeType.msoShapeFlowchartConnector,          100, 100,  80,  80); // Connector (circle)
ppptools.AddShape(MsoAutoShapeType.msoShapeFlowchartOffpageConnector,   100, 100,  80, 100); // Off-page connector
ppptools.AddShape(MsoAutoShapeType.msoShapeFlowchartDelay,              100, 100, 150, 100); // Delay
ppptools.AddShape(MsoAutoShapeType.msoShapeFlowchartMagneticDisk,       100, 100, 150, 100); // Database
ppptools.AddShape(MsoAutoShapeType.msoShapeFlowchartSort,               100, 100, 150, 150); // Sort (hourglass)
ppptools.AddShape(MsoAutoShapeType.msoShapeFlowchartOr,                 100, 100,  80,  80); // Or
ppptools.AddShape(MsoAutoShapeType.msoShapeFlowchartSummingJunction,    100, 100,  80,  80); // Summing junction

Quick Reference — Most Common Types

Enum value PowerPoint name Typical use
msoShapeRectangle Rectangle Base shapes, backgrounds
msoShapeRoundedRectangle Rounded Rectangle Buttons, cards
msoShapeOval Oval Circles, icons
msoShapeDiamond Diamond Decision nodes
msoShapeIsoscelesTriangle Triangle Arrows, callouts
msoShapeRegularPentagon Pentagon Graphic highlights
msoShapeHexagon Hexagon Honeycomb structures
msoShapeRightArrow Right Arrow Process steps
msoShapeChevron Chevron Process sequences
msoShapePentagon Pentagon Arrow Process sequences
msoShape5pointStar Star Highlights
msoShapeRectangularCallout Speech Bubble Annotations
msoShapeFlowchartDecision Decision Diamond Flowcharts
msoShapeFlowchartProcess Process Box Flowcharts
msoShapeFlowchartTerminator Start/End Flowcharts

Adjustments — Geometry Handles

Most shapes have adjustment handles (yellow diamonds in PowerPoint), accessible in code via oShape.Adjustments[n].

→ Full explanation and examples: Arrow with Adjustments

Microsoft reference: Adjustments object (learn.microsoft.com)

Shape Enum Count [1] [2]
Arrow right msoShapeRightArrow 2 Arrowhead start (0–1) Shaft height (0–0.5)
Double arrow msoShapeLeftRightArrow 2 Arrowhead width (0–0.5) Shaft height (0–0.5)
Chevron msoShapeChevron 1 Notch depth (0–1)
Pentagon arrow msoShapePentagon 1 Point depth (0–1)
Rounded rectangle msoShapeRoundedRectangle 1 Corner radius (0–0.5)
Callout (rect) msoShapeRectangularCallout 2 Pointer X Pointer Y
Callout (oval) msoShapeOvalCallout 2 Pointer X Pointer Y
Bent arrow msoShapeBentArrow 2 Bend point Shaft width
Circular arrow msoShapeCircularArrow 5 Start angle End angle

Discovering unknown adjustments

Create the shape in PowerPoint, drag the yellow diamond handle while recording a macro (View → Macros → Record Macro). The VBA code shows the exact values.


AddShape vs. Specialized Methods

Situation Recommendation
Rectangle, Oval AddRect() / AddOval() — shorthands
Any AutoShape AddShape(MsoAutoShapeType.xxx, ...)
Freely drawn polygon AddPolygon(xs[], ys[])
Open line from points AddPolyline(xs[], ys[])
Simple straight line AddLine(x1, y1, x2, y2)
Connector arrow AddConnector(x1, y1, x2, y2)
Text box without fill AddTextBox(x, y, w, h)
Curves / Bézier BuildFreeform(msoEditingSmooth, ...)

Back: PPPTools Reference