Header
PowerPoint tips, hints and tutorials that will change your presentations for ever!

INDEX

 

Jigsaws
Sounds
Video
Custom Shows
vba code
NaviSlides
Games for teachers
Bullets
Triggers
Security
Flash Cards
Multiple Instances
PowerPoint 2007
Mail Merge
Random events
Animation
Hyperlinks
Set spellcheck language


Home buttonTutorial buttonContact buttonProducts button


No Screen Refresh PowerPoint 2007

It seems that a recent update has caused some problems in PowerPoint 2007!

If you try to change the fill colour or text colour with code during a show the colour change only happens when you exit the show. The sacreen does not refresh during the show itself which of course is what you needed!

There may also be an associated problem with link colours. If you have hyperlinked text you may find that the followed colour only shows again when you exit show mode.

Solution

It seems that to workaround this big (which maybe Microsoft will fix soon) you need to change the slide in edit view with code. In the code below we add an empty text box which since it has no text will be auto deleted. You must make the change on the same slide that you want to refresh.

Example Code

Sub refresh_me(oshp As Shape)
Dim osld As Slide
'get current slide
Set osld = SlideShowWindows(1).View.Slide
'change font colour in shape text
oshp.TextFrame.TextRange.Font.Color.RGB = vbRed
'the next line adds the empty textbox and refreshs the slide
osld.Shapes.AddTextbox msoTextOrientationHorizontal, 1, 1, 1, 1
End Sub

Hyperlinks Colours

It's less appropriate to use vba to fix the followed colour problem but it is fairly easy.

Instead of a "Last Slide Viewed" button to return to the slide you linked from you can make the button run this code. This will only work if you go straight back with no intervening slides! You could easily adapt the code to go to a specific slide eg a menu by setting osld to that slide.

Sub goback()
' Last Slide Viewed
Dim osld As Slide
Set osld = SlideShowWindows(1).View.LastSlideViewed
osld.Shapes.AddTextbox msoTextOrientationHorizontal, 1, 1, 1, 1
SlideShowWindows(1).View.GotoSlide (osld.SlideIndex)
End Sub

Sub go_to_first()
' Last Slide Viewed
Dim osld As Slide
Set osld = SlideShowWindows(1).View.First
osld.Shapes.AddTextbox msoTextOrientationHorizontal, 1, 1, 1, 1
SlideShowWindows(1).View.GotoSlide (osld.SlideIndex)
End Sub

 

 

 
 

Back to the Index Page

POWERPOINT BLOG

Articles on your favourite sport

Free Microsoft PowerPoint Advice, help and tutorials, Template Links
This website is sponsored by Technology Trish Ltd
© Technology Trish 2007
Registered in England and Wales No.5780175
PowerPoint® is a registered trademark of the Microsoft Corporation