#1
|
|||
|
|||
Big presentation, links fail: solution
Hi,
I have a +/- 125 slide presentation (set to grow) that has issues with links. The presentation contains a few ways of navigating the slides as it is not meant to be used in a linear way. Each slide can be reached in multiple ways. I also have 3 macros (to show what specific colours mean: click on the red box and it will say: in progress for example) alongside the normal action buttons. A rough guess is that I have some 200-250 links in the pptm file already. However, when testing the links I found that some links had broken: they referred to other slides. After changing the broken links, others (that were previously OK) have now broken. How do I solve this? Or should I step away from PowerPoint (if so, to what)? |
#2
|
|||
|
|||
Are you saving in the new pptx format or downsaving to a .ppt?
|
#3
|
|||
|
|||
PPTM actually, as there are three macros
|
#4
|
|||
|
|||
My understanding was this was fixed in 2010 as long as you didn't downsave. It was certainly a problem in 2003 version.
This is just an experiment so try on a copy!! There may be a memory limit to the hyperlink storage (there was in 2003). This stores the hyperlink subaddress which includes the target slide title. the longer the title the more memory. BUT as far as I can tell once the link is created the title data is never used. This code should replace the title data (not the actual title of course) with a single letter and reduce the memory used. It will not fix already broken links. Be interested to know if it works! Sub fixLinks() Dim osld As Slide Dim ohl As Hyperlink Dim ipos As Integer For Each osld In ActivePresentation.Slides For Each ohl In osld.Hyperlinks If ohl.Address = "" Then 'internal If Not ohl.SubAddress Like "-1*" Then 'NEXT etc ipos = InStrRev(ohl.SubAddress, ",") ohl.SubAddress = Left(ohl.SubAddress, ipos) & "Z" End If End If Next ohl Next osld End Sub As written the code will break custom shows. If you have these you could try Sub fixLinks() Dim osld As Slide Dim ohl As Hyperlink Dim ipos As Integer For Each osld In ActivePresentation.Slides For Each ohl In osld.Hyperlinks If ohl.Address = "" Then 'internal If Not ohl.SubAddress Like "-1*" Then 'NEXT etc On Error Resume Next Err.Clear Debug.Print ohl.ShowAndReturn If Err <> 0 Then 'don't check custom shows ipos = InStrRev(ohl.SubAddress, ",") ohl.SubAddress = Left(ohl.SubAddress, ipos) & "Z" End If End If End If Next ohl Next osld End Sub Last edited by JohnWilson; 08-23-2013 at 08:28 AM. Reason: check for NEXT link etc |
#5
|
|||
|
|||
That's a lot of work... restoring all links (as so many were broken I decided to remove all links and restore them, after renaming them using your macro). However, for now it seems to work. So, thank you! Will inform you once all links have been restored whether it still works.
|
#6
|
|||
|
|||
Interesting because I thought this was fixed in 2010.
I will be working at the Presentation Summit in September and expect to meet the PowerPoint Team there. If so I will ask about this. |
#7
|
|||
|
|||
For everyone in general, as well as my planning that would be very useful to know (as I will keep adding slides and links...)
Enjoy the Summit btw! |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Office repair fail | markg2 | Office | 1 | 08-18-2013 07:23 AM |
Opening a presentation file opens a blank presentation | raijian | PowerPoint | 7 | 10-16-2012 04:23 AM |
Fail to access outlook to set the settings!!!!! | Jamal NUMAN | Outlook | 3 | 04-20-2011 06:32 PM |
Secondary IP address Outlook Fail-over | danish.mustafa | Outlook | 0 | 03-01-2010 01:32 AM |
Shortcuts Fail | sussertown | Outlook | 0 | 02-16-2009 06:38 PM |