Which Slides in a PowerPoint presentation have links to other files
The vba code posted to the site of PPTools here, will provide you with a list all files linked to in a PowerPoint presentation. Enter the below code in a new module and run it and it should generate a new graphic file for each slide which contains a link to another file.
Sub ShowMeTheHyperlinks() ' Lists the slide number, shape name and address ' of each hyperlink
Dim oSl As Slide Dim oHl As Hyperlink
For Each oSl In ActivePresentation.Slides For Each oHl In oSl.Hyperlinks If oHl.Type = msoHyperlinkShape Then MsgBox "HYPERLINK IN SHAPE" _ & vbCrLf _ & "Slide: " & vbTab & oSl.SlideIndex _ & vbCrLf _ & "Shape: " & oHl.Parent.Parent.Name _ & vbCrLf _ & "Address:" & vbTab & oHl.Address _ & vbCrLf _ & "SubAddress:" & vbTab & oHl.SubAddress Else ' it's text MsgBox "HYPERLINK IN TEXT" _ & vbCrLf _ & "Slide: " & vbTab & oSl.SlideIndex _ & vbCrLf _ & "Shape: " & oHl.Parent.Parent.Parent.Parent.Name _ & vbCrLf _ & "Address:" & vbTab & oHl.Address _ & vbCrLf _ & "SubAddress:" & vbTab & oHl.SubAddress End If Next ' hyperlink Next ' Slide
End Sub Or to get a list off all the hyperlinks in the presentation in a text file:
Option Explicit
Sub FileEmDano() ' Lists the slide number, shape name and address ' of each hyperlink and saves the results to a file:
Dim oSl As Slide Dim oHl As Hyperlink Dim sTemp As String Dim sFileName As String
' Output the results to this file: sFileName = Environ$("TEMP") & "\" & "HyperlinkList.TXT"
For Each oSl In ActivePresentation.Slides For Each oHl In oSl.Hyperlinks If oHl.Type = msoHyperlinkShape Then sTemp = sTemp & "HYPERLINK IN SHAPE on Slide:" & vbTab & oSl.SlideIndex _ & vbCrLf _ & "Shape: " & oHl.Parent.Parent.Name _ & vbCrLf _ & "Address:" & vbTab & oHl.Address _ & vbCrLf _ & "SubAddress:" & vbTab & oHl.SubAddress & vbCrLf & vbCrLf Else ' it's text sTemp = sTemp & "HYPERLINK IN TEXT on Slide:" & vbTab & oSl.SlideIndex _ & vbCrLf _ & "Shape: " & oHl.Parent.Parent.Parent.Parent.Name _ & vbCrLf _ & "Address:" & vbTab & oHl.Address _ & vbCrLf _ & "SubAddress:" & vbTab & oHl.SubAddress & vbCrLf & vbCrLf End If Next ' hyperlink
Next ' Slide
Call WriteStringToFile(sFileName, sTemp) Call LaunchFileInNotePad(sFileName)
End Sub