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