It might be that the size of your show is what is slowing everything
down. You should be able to do what you want with fewer slides now that
you are using code.
For this code:
ActivePresentation.SlideShowWindow.View.GotoSlide (("Skills SP")
'Apply a light green foreground color to text boxes SP A1-5
ActivePresentation.SlideShowWindow.View.Slide.Shapes _
.Range(Array("SP A1", "SP A2", "SP A3", "SP A4", "SP A5")) _
.Fill.ForeColor.RGB = RGB(204, 255, 204)
You should change this to:
ActivePresentation.Slides("Skills SP").Shapes _
.Range(Array("SP A1", "SP A2", "SP A3", "SP A4", "SP A5")) _
.Fill.ForeColor.RGB = RGB(204, 255, 204)
ActivePresentation.SlideShowWindow.View.GotoSlide (("Skills SP")
This will apply the fill before going to the slide so that it will be
filled when you get there.
Having every button reset fill colors is not a big deal if you write a
separate procedure to do this. Each button can call the separate
procedure:
Sub ResetFillColors()
ActivePresentation.Slides("Skills SP").Shapes.Range ....
End Sub
You might also want to check out my site for some examples that change
the font color of text:
http://www.loyola.edu/education/PowerfulPowerPoint/
Example 6.8 does that.
I think the big key to solve many of your problems is always to change
the things on slides before going to those slides.
--David
--
David M. Marcovitz
Director of Graduate Programs in Educational Technology
Loyola College in Maryland
Author of _Powerful PowerPoint for Educators_
http://www.loyola.edu/education/PowerfulPowerPoint/