Slide Numbering in Custom Slide Shows

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Hi Everyone,

I am using PPT 2003 and have a single file that has ~50 slides in it, with
the slide number in the master layout.

I have created a few custom slide shows (for a different audience) in which
I would like to show the slides in a specific order (i.e. Show #1 show
slides 3-10, 15-19, etc. and Show #2 shows slides 20-29, 3-10, etc.).

What I would like to do is to have the slide numbering start at #1 for the
first "displayed" slide for the custom show, even though the slide number in
the main file might be #3.

Does anyone know if this is even possible?
 
Yes, this is possible. Do you know VBA?


--
Bill Dilworth
A proud member of the Microsoft PPT MVP Team
Users helping fellow users.
http://billdilworth.mvps.org
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
yahoo2@ Please read the PowerPoint FAQ pages.
yahoo. They answer most of our questions.
com www.pptfaq.com
..
 
1) Create an event trap

2) Then use these three events (watch for text wrap in newsgroup)


====Start Code====
Sub PPTApp_SlideShowBegin(ByVal Wn As SlideShowWindow)

On Error Resume Next
If SlideShowWindows(1).View.IsNamedShow = msoFalse Then Exit Sub

Dim osld As Slide

Const oLeft = 10 'Change these to place the slide number where you want
Const oTop = 10
Const oWidth = 100
Const oHeight = 30


For Each osld In ActivePresentation.Slides
With osld.Shapes.AddTextbox(Orientation:=msoTextOrientationHorizontal, _
Left:=oLeft, Top:=oTop, Width:=oWidth, Height:=oHeight)
With .TextFrame.TextRange
.Text = "."
.Font.Color.RGB = RGB(0, 0, 0)
End With
.Name = "NextNum"
End With
Next osld

Set osld = Nothing

NextNumber = 0

End Sub





Sub PPTApp_SlideShowEnd(ByVal Pres As Presentation)

On Error Resume Next
Dim osld As Slide
Dim oshp As Shape

For Each osld In ActivePresentation.Slides
For Each oshp In osld.Shapes
If oshp.Name = "NextNum" Then oshp.Delete
Next oshp
Next osld

End Sub



Sub PPTApp_SlideShowNextSlide(ByVal Wn As SlideShowWindow)

On Error Resume Next
If SlideShowWindows(1).View.IsNamedShow = msoFalse Then Exit Sub

Dim osld As Slide
NextNumber = NextNumber + 1

For Each osld In ActivePresentation.Slides
osld.Shapes("NextNum").TextFrame.TextRange.Text = CStr(NextNumber)
Next osld

End Sub


====End Code====


--
Bill Dilworth
A proud member of the Microsoft PPT MVP Team
Users helping fellow users.
http://billdilworth.mvps.org
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
yahoo2@ Please read the PowerPoint FAQ pages.
yahoo. They answer most of our questions.
com www.pptfaq.com
..
 
Pretty sharp, Steve. Point taken. This should fill in the holes ... Are we
having p(h)un, yet?

Make PPT respond to events
http://www.rdpslides.com/pptfaq/FAQ00004.htm


If you are still having difficulty with it, drop me a line and I'll send you
a PPA or PPT file of this.

--
Bill Dilworth
A proud member of the Microsoft PPT MVP Team
Users helping fellow users.
http://billdilworth.mvps.org
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
vestprog2@ Please read the PowerPoint FAQ pages.
yahoo. They answer most of our questions.
com www.pptfaq.com
..
 
Back
Top