Animations that worked in PP 2003 but will not work in PP 2007

C

carbuthn

I have made several piping flow diagrams, each slide has a system drawn on
it. When a button is clicked the linked animations shows the flow path that
the system liquid takes through the piping. The slides worked fine with
Powerpoint 2003, but nothing happens on 2 slides out of the 15 that I have in
the presentation under Powerpoint 2007. Has anyone one run into this problem?
Do you have a solution?

Also, (in a different presentation) I have used a lot of macros to make a
mini simulator, the relay and contact etc. have been named c1, c2 and aux1.
The macros would not work in Powerpoint 2007 until I used the uppercase
letters i.e. slide210.shapes("C1").visible. "c1" will not work. Why did they
make 2007 case sensitive?

Thanks
Chuck
 
S

Steve Rindsberg

Also, (in a different presentation) I have used a lot of macros to make a
mini simulator, the relay and contact etc. have been named c1, c2 and aux1.
The macros would not work in Powerpoint 2007 until I used the uppercase
letters i.e. slide210.shapes("C1").visible. "c1" will not work. Why did they
make 2007 case sensitive?

Not a clue, but I can reproduce the problem here. And I'm with you ... what a
*silly* change for them to have made. I've reported it along with simple repro
steps. Thanks for bringing it up ... here's hoping it gets fixed soon.

Meanwhile, something like this might work:

Function GetShapeNamed (sName, oSld as Slide) as Shape
Dim oSh as Shape
For Each oSh in oSld.Shapes
If UCase(sName) = UCase(oSh.Name) Then
Set GetShapeNamed = oSh
Exit Function
End If
Next
End Function

and in your main code ...

Dim oSh as Shape
Set oSh = GetShapeNamed("c1", ActivePresentation.Slides(1))
If Not oSh = Nothing Then
' do your stuff
End If

But another hint: Use tags instead of shape names. Shape names are infested
with other bugs that can give you trouble.

Try something like this:

Function GetShapeTagged (sTag, oSld as Slide) as Shape
Dim oSh as Shape
For Each oSh in oSld.Shapes
If oSh.Tags(sTag) = sTag Then
Set GetShapeTagged = oSh
Exit Function
End If
Next
End Function

This assumes that the shape has been tagged with the tag name and value the
same:

oSh.Tags.Add "c1", "c1"

They can be different if you prefer.
Or you could use

oSh.Tags.Add "ShapeName", "c1"

in which case the relevant line in the function would be:

If oSh.Tags("ShapeName") = sTag Then
 
C

carbuthn

Thanks Steve, I will be changing to tags on the new presentations, I have
corrected the old ones with a search and replace similar to the one you gave
me.

The second problem seems to have gone away after a re-boot of the computer.
 

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