0

I am a teacher and I would like to distribute my Powerpoint slides as a PDF to students with certain content hidden. I would also like easily switch to showing all content (nothing hidden) to print a version for myself.

I know you can hide certain layers, but layering seems to work on a per-slide basis. There does not seem to be a way to classify all objects in a document to one of two layers.

I am currently maintaining the 2 versions in 2 separate PPT documents. I have found this too difficult to manage when making changes/updates to the slides.

  • 1
    could you use presenter notes for your hidden content? If so it makes it all very simple... – GerardFalla Apr 14 at 15:45
  • 1
    I would like the hidden content to appear in the actual slide and presenter notes do not appear in the slide. – user2684827 Apr 16 at 7:38
0

I found a solution. It has a few one-time-only steps. I believe this will serve my needs.

Overview:
This is the process to classify content into 2 categories in order to print 2 versions of a PowerPoint document. 1 version will have only certain content showing (some content is hidden). The other version will have all content showing. This will be achieved by adding any content you want to hide to PowerPoint animation. A PowerPoint Add-in will be used to split the slides out so that each slide is repeated as many times as there are animations within that slide. When things are set up correctly, partial content will be shown on the odd slides (1, 3, 5, etc) and all content will be shown on the even slides (2, 4, etc). This assumes animations are not used for other purposes throughout your document.

Unlike MS Word, PowerPoint does not have a print even/odd slide numbers option, so an optional one-time setup process to have a macro make this easier needs to be done. Afterwards, you can add the even or odd pages to the print queue with the click of a button.

Steps:

1) Make a copy of (to be safe), then open your existing .pptx file with the content you would like to classify as either always-showing or sometimes-hidden.

2) For each slide, select all objects to be sometimes hidden. Go to Animations --> click on Appear (make sure the Start drop-down menu says On Click first). If you have any slides for which no sometimes-hidden content lives, you will have to add a blank textbox and perform this step on it. This makes printing later much easier.

3) (One-time only) Install the Add-in called PPspliT.

4) Click on the PPspliT menu that should now appear near top of your PowerPoint window. Click Split Animations button (default settings recommended). Now partial content will be shown on odd-numbered slides and all content will be on the even-numbered slides.

5) Hit ctrl+Z to undo the split and save the file. The add-in does not have an un-split option. The whole idea is to maintain one file with all of the content to make improvements and changes easy to do. This process is only for printing.

6) If you do the one-time setup (directions below) to have 2 toolbar buttons execute macros that add even/odd slides to your print queue, you will quickly be ready to print even/odd pages to PDFs or an actual printer.

Optional setup for toolbar buttons that add even/odd slides to print queue:

1) Create a new, blank PPT document. Hit Alt+F11 (brings up macro editor) --> Insert--> Module. Then add the following code. Note, I did not author this code, but I don't think I have the status to post links to the 2 places I obtained the code.

Sub Auto_Open()
    Dim oToolbar As CommandBar
    Dim oButton As CommandBarButton
    Dim eButton As CommandBarButton
    Dim MyToolbar As String

    ' Give the toolbar a name
    MyToolbar = "Runs macros"

    On Error Resume Next
    ' so that it doesn't stop on the next line if the toolbar's already there

    ' Create the toolbar; PowerPoint will error if it already exists
    Set oToolbar = CommandBars.Add(Name:=MyToolbar, _
        Position:=msoBarFloating, Temporary:=True)
    If Err.Number <> 0 Then
          ' The toolbar's already there, so we have nothing to do
          Exit Sub
    End If

    On Error GoTo ErrorHandler

    ' Now add a button to the new toolbar
    Set oButton = oToolbar.Controls.Add(Type:=msoControlButton)
    ' And set some of the button's properties
    With oButton
         .DescriptionText = "This is my first button"
          'Tooltip text when mouse if placed over button

         .Caption = "Add odd pages to print"
         'Text if Text in Icon is chosen

         .OnAction = "AddOdd"
          'Runs the Sub Button1() code when clicked

         .Style = msoButtonIcon
          ' Button displays as icon, not text or both

         .FaceId = 2507
          ' not an ideal icon, but it works
    End With

    Set eButton = oToolbar.Controls.Add(Type:=msoControlButton)
    ' And set some of the button's properties
    With eButton

         .DescriptionText = "This is my first button"
          'Tooltip text when mouse if placed over button

         .Caption = "Add eeven pages to print"
         'Text if Text in Icon is chosen

         .OnAction = "AddEven"
          'Runs the Sub Button1() code when clicked

         .Style = msoButtonIcon
          ' Button displays as icon, not text or both

         .FaceId = 2506
          ' not an ideal icon, but it works
    End With

    ' Repeat the above for as many more buttons as you need to add
    ' Be sure to change the .OnAction property at least for each new button

    ' You can set the toolbar position and visibility here if you like
    ' By default, it'll be visible when created. Position will be ignored in PPT 2007 and later
    oToolbar.Top = 150
    oToolbar.Left = 150
    oToolbar.Visible = True

NormalExit:
    Exit Sub   ' so it doesn't go on to run the errorhandler code

ErrorHandler:
     'Just in case there is an error
     MsgBox Err.Number & vbCrLf & Err.Description
     Resume NormalExit:
End Sub
Sub AddEven()
    If ActivePresentation.Slides.Count < 2 Then
        MsgBox "There is only one slide!!!"
    Else
        ActivePresentation.PrintOptions.Ranges.ClearAll
        ActivePresentation.PrintOptions.RangeType = ppPrintSlideRange
        For j = 2 To ActivePresentation.Slides.Count Step 2
            ActivePresentation.PrintOptions.Ranges.Add j, j
        Next j
    End If
End Sub
Sub AddOdd()
    ActivePresentation.PrintOptions.Ranges.ClearAll
    ActivePresentation.PrintOptions.RangeType = ppPrintSlideRange
    For j = 1 To ActivePresentation.Slides.Count Step 2
        ActivePresentation.PrintOptions.Ranges.Add j, j
    Next j
End Sub

2) Save the file as a .pptm file (not sure if this is necessary).

3) Save the file as a .ppam file. It should suggest to place the file in your C:\Users\your_user_name\AppData\Roaming\Microsoft\AddIns directory (or wherever your PPT Add-Ins are saved). When that's saved, you'll be back in your .pptm file.

4) Go to File --> Options --> Add-ins. At the Manage drop-down menu, choose PowerPoint Add-ins and click Go. Click Add New and select your .ppam file. Click close.

5) There should now be a menu titled Add-ins along the top of your PowerPoint with 2 buttons on it. One adds even slides to your print queue, the other adds the odd slides.

| improve this answer | |

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.