In PowerPoint is there a way of setting up a mouse over function

P

pfx

Hi Steve,
Thanks for your response. Apologies for my delayed response due to being
offsite on a live in course.
With respect to your advice on:
With SlideShowWindows(1).View.Slide _
.Shapes(8).TextFrame.TextRange

I had incorrectly interpreted '.Shapes(8)' as being the number of shapes
involved in the VBScript, however it apparantly refers to number/name of the
actual shape. So I assume if it was '.Shapes(6)' the mouseover text would
appear in Shape (6).
I tried cutting and pasting all of the shapes to the Master to see if they
would work there. In 'Show' mode the hyperlinks work but the mouseover
function no longer works. Does the script need to be changed somehow so that
the mouseover function works if it resides on the master page.
Thanks again for your assistance.
Chris
 
P

pfx

(I've posted this in two topic areas as both relate to the same project. This
is probably the most appropriate place to carry this converstaion forward)

OK this is where I have got to.

Thanks to your suggestions about checking the shape identifier numbers on
the master slide, as they are most likely different to what they are/were on
the presentation slide, I have been able to make the mouseover action work on
buttons placed on the master slide, except... For some reason the mouseover
action will only return a result in a shape on a presentation slide and not a
master slide.
For example, if I start with a new blank presentation and draw 6 mouseover
buttons/shapes and one result textbox/shape and insert the following code:

Sub DisplayMessage(oShp As Shape)
' ascertain the position of the mouse by checking the
' index value of shape over which the mouse rests.
With SlideShowWindows(1).View.Slide _
.Shapes(7).TextFrame.TextRange
Select Case oShp.ZOrderPosition
' The purple rectangle on which the buttons rest
' we use the event here to clear the existing message while
' the mouse moves to the next shape

Case 1
.Text = "Metro"
Case 2
.Text = "Projects"
Case 3
.Text = "Process"
Case 4
.Text = "Finishes"
Case 5
.Text = "Technical"
Case 6
.Text = "Misc"


End Select
DoEvents
End With
End Sub

Mousing over any of the button/shapes/case in 'Show' mode will return the
appropriate text in the text/rectangle/shape 7.

If I copy all the shapes to the master page, assuming it is completely
empty, and position the shapes at a different place on the slide, the pasted
shapes on the master slide have exactly the same identifier numbers as the
corresponding shapes on the presentation slide. So all of the VB script is
still applicable.

When I go to 'Show' mode, if I mouse over the buttons/shapes that were
placed on the presentation slide, they return a result in the
text/rectangle/shape 7 sitting on the presentation slide. If I mouseover the
buttons/shapes that were placed on the master slide they will also return a
result, however the result is returned in the text/rectangle/shape7 that is
sitting on the presentation slide and not the text/rectangle/shape7 that is
sitting on the master page. Even if I create a shape 8 on the master slide
and change the VB script to suit, I still can't get a result showing up in a
text/rectangle shape sitting on the master slide.

Frustrating, as I need all these buttons on master slides as my project
requires around 100 slides between several linked presentations. So you can
see I'm trying to keep things simple and a smaller file size by trying to
work with the master page for the buttons.

Looking at the VB script again, I'm wondering if the key lies in the lines:
With SlideShowWindows(1).View.Slide _
.Shapes(7).TextFrame.TextRange

Are the words 'With SlideShowWindows(1).View.Slide _' telling PowerPoint to
look at the presentation slide to return the result in shape 7 rather than
returning the result in shape 7 on the master page. If this is the case, is
there an alternate script to tell PowerPoint to look at the master page for
shape 7 in which to display the result.

I have also tried adding another VB module for the shapes on the master
slide but PowerPoint only wants to return a result in shape 7 on the
presentation slide.

Again I really appreciate your help and this eventual solution will be used
in all my followup presentations.

Regards

Chris
 
P

pfx

To Steve, David, John and Luc,
What can I say?
I am indebted to you all for working with me and getting me over the line
with a fully functioning mouseover action in PowerPoint, just like they have
in Dreamweaver and Flash!
In the end Steve provided a simple piece of VB script that works both on
normal presentation and master slides.
The renaming 'addin' just topped it off by swapping changeable PowerPoint
shape references to meaningful names.
It makes you wonder why Microsoft just sits on its hands with this
application when, with a little thought, it could really be a very powerful
piece of multimedia software. Although I have to admit that latest version is
vastly improved on previous iterations.
I really feel privlidged to have had all of your assistance in this.
Having this action with greatly simplify and enhance my presentations and
will do away with a lot of those hidden workarounds that you often have to
devise to 'fake' a certain look. I also have to admit I will enjoy watching
my colleagues trying to figure out how in the heck that mouseover works as
they are not even aware of the VB backdoor.
Once again, my sincere appreciation to you all,

Chris

PS I'm going to have to get a copy of David's book.
 

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