Supercharge your PowerPoint productivity with
Supercharge your PPT Productivity with PPTools - Click here to learn more.

Proud member of

PPTools

Image Export converts PowerPoint slides to high-quality images.

PPT2HTML exports HTML even from PowerPoint 2010 and 2013, gives you full control of PowerPoint HTML output, helps meet Section 508 accessibility requirements

Merge Excel data into PowerPoint presentations to create certificates, awards presentations, personalized presentations and more

Resize your presentations quickly and without distortion

Language Selector switches the text in your presentation from one language to another

FixLinks prevents broken links when you distribute PowerPoint presentations

Shape Styles brings styles to PowerPoint. Apply complex formatting with a single click.

Print from Slide Show View

Problem

You want to add a button to a slide or slides that will let anyone viewing the presentation print the current slide to the default printer.

Solution

Say "Thanks, Dennis, for asking the question that led to this" and read on:

You can copy the button to any other slide in your presentation or to the Slide and/or Title master if you want it to appear on every slide in the presentation. The one macro is all you need.

Sub PrintMe()

    Dim lCurrentSlide as Long

    ' Get the SlideID of the slide currently in view
    lCurrentSlide = SlideShowWindows(1).View.Slide.SlideNumber

    ' Set up print options
    With ActivePresentation.PrintOptions

        ' Print a range that includes only the current slide
        .RangeType = ppPrintSlideRange
        ' Change it to .RangeType = ppPrintAll to print the entire presentation
        ' You may also need to delete the following four lines to print all
        With .Ranges
            .ClearAll
            .Add Start:=lCurrentSlide, End:=lCurrentSlide
        End With

        .NumberOfCopies = 1

         ' This prints notes pages;  change it to e.g. ppPrintOutputSlides to print slides
         ' To see the other types delete everything from the = sign to the end of the line below
         ' Then type = at the end of the line;  VBA's Intellisense feature will show you the available options
        .OutputType = ppPrintOutputNotesPages

        .PrintHiddenSlides = msoTrue

         ' Likewise, change this if you want color or pure b/w
        .PrintColorType = ppPrintBlackAndWhite

        .FitToPage = msoFalse
        .FrameSlides = msoFalse

    End With

    ' and PRINT
    ActivePresentation.PrintOut

End Sub

See How do I use VBA code in PowerPoint? to learn how to use this example code.


Did this solve your problem? If so, please consider supporting the PPT FAQ with a small PayPal donation.
Page copy protected against web site content infringement by Copyscape Contents © 1995 - 2022 Stephen Rindsberg, Rindsberg Photography, Inc. and members of the MS PowerPoint MVP team. You may link to this page but any form of unauthorized reproduction of this page's contents is expressly forbidden.

Supercharge your PPT Productivity with PPTools

content authoring & site maintenance by
Friday, the automatic faq maker (logo)
Friday - The Automatic FAQ Maker

Print from Slide Show View
http://www.pptfaq.com/FAQ00763_Print_from_Slide_Show_View.htm
Last update 07 June, 2011
Created: