PrintRanges Object (PowerPoint)

Office 2013 and later

Contribute to this content

Use GitHub to suggest and submit changes. See our guidelines for contributing to VBA documentation.

A collection of all the PrintRange objects in the specified presentation. Each PrintRange object represents a range of consecutive slides or pages to be printed.

Use the Ranges property to return the PrintRanges collection. The following example clears all previously defined print ranges from the collection for the active presentation.


Use the Add method to create a PrintRange object and add it to the PrintRanges collection. The following example defines three print ranges that represent slide 1, slides 3 through 5, and slides 8 and 9 in the active presentation and then prints the slides in these ranges.

With ActivePresentation.PrintOptions

    .RangeType = ppPrintSlideRange

    With .Ranges


        .Add 1, 1

        .Add 3, 5

        .Add 8, 9

    End With

End With


Use Ranges(index), where index is the print range index number, to return a single PrintRange object. The following example displays a message that indicates the starting and ending slide numbers for print range one in the active presentation.

With ActivePresentation.PrintOptions.Ranges

    If .Count > 0 Then

        With .Item(1)

            MsgBox "Print range 1 starts on slide " & .Start & _

                " and ends on slide " & .End

        End With

    End If

End With