Hide slides when a presentation is running

S

Stein Kristiansen

PowerPoint 2000:

I have a presentation including several products. Every time I'm going to
do a presentation I'll have to manually go through it and hide the slides
wich are not relevant for the specific show I'm going to do that day.
(No, I can not split it into seperate presentations)

My idea is to make the first slide containing several buttons. One that
hides every slide (except the first one). Several others that unhides the
predifined slides for the products I want to present.
If I get this to work, I can just start the presentation and then selct
which products I want to present.
The problem is that I have not found out how to hide/unhide slides when
the presentation is running, only how to do it from the slide sort view.

Any help is appreciated.
 
G

Guest

I could be mistaken, but this sounds like a job for custom shows. Can you set
up a custom show for each product and include buttons to the appropriate
custom shows?

Alternatively, you would probably use VBA to hide slides while in Slide Show
mode, but Custom Shows are much easier.

--David

David Marcovitz
Author of _Powerful PowerPoint for Educators_
http://www.loyola.edu/education/PowerfulPowerPoint/
 
A

Austin Myers

Do a search in help for "Custom Shows". Should explain it nicely.

Austin Meyrs
MS PowerPoint MVP Team
 
S

Stein Kristiansen

I have looked at the Custom Show option but it dosn't fullfil my needs.
With Custom Show I have to define one show for product 1, one for product
2, one for product 3 and so on. If I want to present product 1 and 3 I
have to make a new one for that. With let us say 10 different products
there will be to many option (2^10).

What I was looking for is the VBA solution.

Stein
 
S

Sonia

If you make a menu on your first slide to products 1-10 and you place a link on
the last slide of each custom show that returns you to the menu, you'll have an
all purpose presentation that gives you dynamic access to any combination of
products.
--

Sonia Coleman
Microsoft PowerPoint MVP Team
Autorun Software, Templates and Tutorials
http://www.soniacoleman.com
 
D

David M. Marcovitz

I guess I'm having trouble getting my mind around your problem. I'm not
sure how VBA is going to help any more than custom shows. Perhaps, you
can explain exactly what you want to do, and one of us can point you in
the right direction of how to do it, whether it is via custom shows or
VBA. So far, the only way I could imagine doing what you want to do is
the way Sonia explained it (with custom shows). Somehow, you are going to
have to select each of the slides or custom shows to show. If you're
doing it in Slide Show mode, that is likely to involve a menu.

Perhaps, you envision a check box, where on the first slide, you check
all the products you want and then run the slide show. If you just want
the code to hide a slide, try this:

ActivePresentation.Slides(2).SlideShowTransition.Hidden = msoTrue

It will hide the second slide of the current show.

Please let us know more details, so we can give you better choices.

--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/
 
S

Stein Kristiansen

I appreciate all the effort to understand my problem, I'll try to explain
a bit better (even if I now have solved it).

Sonias proposal does not work because I have a lot of slides that are
commen to more than one product. Lets say I want to present product 1,
then I will use slide 3-4-10-11. If I want product 2, I will use
5-6-10-11, product 3 slide 7-10-11, If I want to present both product 1
and 2 that gives me slide 3-4-5-6-10-11, 1 and 3 slide 3-4-7-10-11 and so
on. And I don't want to go back to the start slide after each product. Yes
I know I have been making things difficult for myself ;-)

What I have been trying to make is a start slide with several buttons.
Each button should start a VBA procedure. One button should hide all the
slides in the presentation. Then the button for product 1 should unhide
slides 3-4-10-11. The button for product 2 should unhide 5-6-10-11, button
for product 3 should unhide 7-10-11.

When the first slide (the one with the button) is displayed I can then
decide which other slides I want to hide/unhide.

I have erlier tried the
ActivePresentation.Slides(2).SlideShowTransition.Hidden = msoTrue/False
code without getting it to work. After you once again brought it to my
attension I tried it again and this time I succeded.

My first slide now contains the necessary buttons.

Examples:
Private Sub CommandButton1_Click()
'Hides all slides except the first one
ActivePresentation.Slides.Range.SlideShowTransition.Hidden = msoTrue
ActivePresentation.Slides(1).SlideShowTransition.Hidden = msoFalse
End Sub

Private Sub CommandButton2_Click()
'Unhide slide 3-4-10-11
ActivePresentation.Slides.Range(Array(3, 4, 10,
11)).SlideShowTransition.Hidden = msoFalse
End Sub

....and so on.

Thank you for pointing me in the right direction. It's wonderful to have a
forum like this where you can get help.

Regards
Stein
 
D

David M. Marcovitz

"'I see,' said the blind man as he picked up the hammer and saw." What
you are saying now makes sense, and it seems that you have a solution
that works. Let us know if you have any further questions.
--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/
 
S

Stein Kristiansen

Well since you ask..... :)

Yes, I now have a solution that works. The problem I foresee now occurs if
I have to delete or add a new slide to an existing presentation. One of my
buttons have the following code for unhiding slides:

ActivePresentation.Slides.Range(Array(3, 4, 5, 6, 7, 8, 28, _
29, 30, 31, 58, 59, 62, 63, 64, 67, 68, 71, 72, _
73, 75, 76, 80, 81, 87, 88, 91, 92, 94, 95, 96, 97, 98, 99, 100, _
103, 104, 105, 106, 107, 108, 117, 118, 119, _
122, 123, 128, 129, 130, 131, 132, 133)).SlideShowTransition.Hidden =
msoFalse

If I now edit the presentation and add a new slide before number 3, I'll
have to increase all the above numbers with 1. Since the original slide 3
now is 4, 4 is 5........
I can't see any other way of doing that than manually.

Is there any way to refere to the slide with its name instead of its
number?
I have looked at the Tags object, but as far as I have found out I still
have to use the slides number to be able to assign the Tags.

Any suggestion how to do this without manually editing all the Sub's when
you add or delete a new slide?

Stein
 
D

David M. Marcovitz

You should be able to use the slide names (in quotes) in place of the
numbers. You can get (and set, if you want) the slide names by using one
of the procedures in Example 8.7 at my site:

http://www.loyola.edu/education/PowerfulPowerPoint/

Try it out before redoing the whole thing because I have never used the
slide names in exactly this way, but I don't see why it shouldn't work.

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

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