0

Several shapes in PowerPoint come with yellow handles that allow you to manipulate the shape, such as in the partial circle shape. You get two handles that decide the starting and finishing angle, such as in this image:

Partial circle shape with yellow handles in PowerPoint

But I can't find any way to modify those angles precisely, i.e. numerically. I want exact starting and ending angles. Is there a way to do so in PowerPoint?

5

There's a way using a PowerPoint VBA Macro, as all shape objects can be manipulated from there. Below is some sample code that asks for the starting and finishing angle, and creates a partial circle shape sized accordingly.

Sub create()

    Dim startAngle As Double, finishAngle As Double
    
    'Ask the user for values for Start and Finish angles
    startAngle = -InputBox("Select the starting angle (relative to the x-axis, counterclockwise)", "Start Angle")
    finishAngle = -InputBox("Select the finishing angle (relative to the x-axis, counterclockwise)", "End Angle")

    'the new shape will be created on the currently active slide
    Dim sl As Slide
    Set sl = Application.ActiveWindow.View.Slide
    
    'create the shape in the slide
    Dim shp As Shape
    Set shp = sl.Shapes.AddShape(msoShapePie, 0, 0, 50, 50)
    
    'set the properties for Start and Finish angle to the values provided previously
    With shp
        .Adjustments.Item(2) = startAngle
        .Adjustments.Item(1) = finishAngle
    End With
End Sub

The shape is created at the top left of the current slide, and can be moved-resized from there (screenshots below). The code may be different for other shape types (because of the different number and meaning of "adjustment" parameters), but the idea behind it remains the same.

Here are a few links if you need some help in understanding where to put the code/how to run it:

Step 1

Step 2

Step 3

1
  • Welcome to GDSE! Very nice answer! Thank you!
    – Alith7
    Sep 24 '20 at 23:43
1

PowerPoint isn't designed for that kind of precision in the shapes. You can however, sort of fake it with a pie chart.

  1. Insert a 2D pie chart.
  2. In the spreadsheet that pops up, delete the 3rd and 4th items. In the 1st and 2nd, enter the percentage of the circle that you want and don't want. In my example I used a total of 360 for degrees (90 and 270), or you could use a total of 100 (25 and 75), or whatever works best for your numbers.
  3. Close the spreadsheet.
  4. Delete the Title block and Legend block.
  5. Click on the piece of the chart you don't want to see, and change it's fill to none or white.

Chart instructional

3
  • Interesting hack, however it might be easier to use something like Inkscape which does have numerical input for such a shape, then import the graphic into PowerPoint.
    – Billy Kerr
    Sep 24 '20 at 9:13
  • Well yes. But I’m guessing they’re not familiar with those programs or that’s what they would have used in the first place.
    – Alith7
    Sep 24 '20 at 11:19
  • Yeah, I totally get that. Anyway I've added an answer giving Inkscape as a possible option, just in case it's something they might want to look into.
    – Billy Kerr
    Sep 24 '20 at 12:55
1

As far as I know there isn't a direct way to do that in PowerPoint - although I don't have an up-to-date version to check.

However, here's one possible option. You could use an application which does have numerical inputs for a shape like this, such as Inkscape (which is free and Open Source). Then import the graphic into PowerPoint.

In Inkscape you can draw a circle with the Circles and Ellipses tool, then hit the Switch to Slice button, and type in the start and end point angles. Note that the 0 position, is at the three o'clock position on the circle.

Example

enter image description here

As for getting the graphic into PowerPoint, you can save it as an SVG, and import directly into PowerPoint. I believe the most recent versions of PowerPoint support SVGs. If you have an older version that doesn't support SVG import, you could export a .PNG or .EMF file directly from Inkscape.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.