Slide Numbering in Custom Slide Shows

J

JimV

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?
 
B

Bill Dilworth

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
..
 
B

Bill Dilworth

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
..
 
B

Bill Dilworth

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
..
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top