Interface between VB application and PowerPoint presentation

G

Greg Denholm

Hello PowerPoint Newsgroup!

I am a new member of this newsgroup and I have a question for anybody who
would like to answer.

I have created a long presentation containing photos of a trip I recently
went on. Because the presentation is so long, I want to give my users the
opportunity to view only the parts of the presentation they want to see, so
they don't have to trudge through it all from beginning to end. I would like
to do this by means of a whiz-bang menu that I have written in Visual Basic
5.0. I wrote it in VB because that's what I'm familiar with, and because I
have been able to get the "look and feel" (appearance and functionality)
that I want by doing this. (It's quite pretty and the menu is two-tiered.) I
assumed that it would be a simple matter to call the presentation from VB -
that is, to include a command that goes straight to a particular slide (in
slideshow mode) based on the user's menu selection. But it appears not -
unless I'm missing something (and I hope I am - which is where you come in).

To state it as clearly as I can, here's a brief description of what I want
to do.
1. I want to create a CD that starts running my VB menu automatically (I
have already done this, so I don't need help with this one - I'm just
telling you what I want to do to put you in the picture).
2. When the user makes his/her selection from the menu, the presentation
starts running (always in full-screen slideshow mode) at the particular
slide chosen by the user. The only way I've been able to do this is to break
up the presentation into lots of mini-presentations and call each one
individually, depending on the menu selection made by the user.
3. When viewing the presentation, I want the user to be able to press Esc at
any time to return to the menu. If this isn't possible, I want Esc disabled
so that nothing happens when Esc is pressed. (Each slide in the presentation
contains a "Menu" navigation button which will return the user to the menu.)
It is important that the user not be able to exit the slideshow other than
through the front-end menu that I've written in VB.
4. I want to prevent more than one instance of the presentation or the menu
being started at once (as this would confuse the user tremendously).
5. I want to ensure that only the menu or the presentation would ever be
active at the one time - never both, because I want them to appear and
behave as if they were part of the one application. (Although one is VB and
the other is PowerPoint, I'm looking for an absolutely smooth transition
back and forth between the two - from the menu to the presentation, and from
the presentation back to the menu.)

I need help with points 2, 3, 4 and 5.

The presentation is about 30Mb in size, despire reducing all my photos in
size. (Yep, it's really that big - hence the menu system). As I mentioned in
point 2, I have tried breaking the presentation into a number of
mini-presentations (about 20 or so - one mini-presentation for each option
on the menu). I'm prepared to include this as part of the final solution if
this would work better from a technical standpoint.

The real issue is the interaction between my whiz-bang VB menu and my
mammoth PowerPoint presentation. They each work individually, but how do I
get them to co-operate?

If I implement YOUR solution to this problem, and your response is the first
I read containing that solution, I will reward you with a copy of the CD
when it's finished, sent to your postal address anywhere in the world if
you're willing to part with that info (obviously, we will exchange this
information via private email).

Do YOU accept the challenge? :)

Warm regards,
Greg in Adelaide, South Australia.
 
S

Steve Rindsberg

Hi from Up Over
2. When the user makes his/her selection from the menu, the presentation
starts running (always in full-screen slideshow mode) at the particular
slide chosen by the user. The only way I've been able to do this is to break
up the presentation into lots of mini-presentations and call each one
individually, depending on the menu selection made by the user.

Give your presentation a PPS extension, set it up to play in full screen or
kiosk mode. Then ShellExecute it from your VB program. So long as the user
has PowerPoint or the free viewer installed, this will start the show directly
w/o any side trips through PPT's editing mode.

ShellExecute Example
http://www.rdpslides.com/pptfaq/FAQ00479.htm
3. When viewing the presentation, I want the user to be able to press Esc at
any time to return to the menu.

An automatic part of the deal when you show the presentation in kiosk mode.
You may also want to give them an End Show button at several points, unless you
explain up front that Esc takes them home.
4. I want to prevent more than one instance of the presentation or the menu
being started at once (as this would confuse the user tremendously).

Your VB app can prevent more than one instance of itself from running.

If App.PrevInstance = True Then
Msgbox("Greedy, greedy, greedy. One at a time or you'll choke!")
' shut down and quit
End if
5. I want to ensure that only the menu or the presentation would ever be
active at the one time - never both, because I want them to appear and
behave as if they were part of the one application.

The presentation will always run full screen atop your menu app when invoked
and when it ends, your menu app will still be wherever you left it.

Bill's done the work for you; yours only to bask in the glory. ;-)
 
K

Kathy Jacobs

Understanding that you want to expand your VB skills, I have a question...
Why not just build the menu in PowerPoint? Split the presentation into
logical pieces, then create one presentation that is just your main menu
slide. You can use hyperlinks to move from the main menu to the correct
presentation (or slide in the presentation) and animation effects to make
the menu options and sub-options appear and disappear.

(Why? Because the simpler the solution, the more likely that people will
actually use the menus to navigate. )

And on an unrelated note: You might want to check this entry from Steve
Rindsberg's PPT FAQ on reducing your file size:
Why are my PowerPoint files so big? What can I do about it?
http://www.rdpslides.com/pptfaq/FAQ00062.htm
If your presentation is really long enough to warrant that size, you are
going to run into time delays on many machines when you navigate around.
I've created some pretty hefty picture presentations and not been near that
size file. (You especially want to make sure that Fast Saves are turned
off.)

Just my two cents.....

--
Kathryn Jacobs, Microsoft MVP PowerPoint and OneNote
Author of Kathy Jacobs on PowerPoint - Available now from Holy Macro! Books
Get PowerPoint and OneNote information at www.onppt.com

I believe life is meant to be lived. But:
if we live without making a difference, it makes no difference that we lived
 

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