Microsoft Office Forums

Go Back   Microsoft Office Forums > >

Reply
 
Thread Tools Display Modes
  #1  
Old 10-14-2015, 01:43 PM
Desiderata Desiderata is offline Creating a list of Hyperlinks in PPT deck Windows 7 32bit Creating a list of Hyperlinks in PPT deck Office 2010 32bit
Novice
Creating a list of Hyperlinks in PPT deck
 
Join Date: Sep 2013
Location: Bloomington, IL
Posts: 7
Desiderata is on a distinguished road
Post Creating a list of Hyperlinks in PPT deck

I'm using Office Professional 2013 and I found a macro to find hyperlinks in a PowerPoint deck- see below. It works well, and steps through the deck and provides a message box (attached).

I want it to provide a list of all the links in the deck instead of a message box for each link found. Is this reasonable?

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
Attached Images
File Type: jpg Reveal Hyperlink.jpg (32.7 KB, 25 views)
Reply With Quote
  #2  
Old 10-15-2015, 02:57 AM
JohnWilson JohnWilson is offline Creating a list of Hyperlinks in PPT deck Windows 7 64bit Creating a list of Hyperlinks in PPT deck Office 2010 32bit
Programmer
 
Join Date: Nov 2008
Location: UK
Posts: 1,913
JohnWilson has a spectacular aura aboutJohnWilson has a spectacular aura about
Default

I'm guessing you would like a printable list from Steve's code?

here's how to get that:

Code:
Sub ShowMeTheHyperlinksPrintable()
' Lists the slide number, shape name and address
' of each hyperlink
Dim oSl As Slide
Dim oHl As Hyperlink
Dim strReport As String
Dim ifilenum As Integer
Dim filepath As String
filepath = Environ("USERPROFILE") & "\Desktop\links.txt"
For Each oSl In ActivePresentation.Slides
For Each oHl In oSl.Hyperlinks
If oHl.Type = msoHyperlinkShape Then
strReport = strReport & "HYPERLINK IN SHAPE" _
& vbCrLf _
& "Slide: " & vbTab & oSl.SlideIndex _
& vbCrLf _
& "Shape: " & oHl.Parent.Parent.Name _
& vbCrLf _
& "Address:" & vbTab & oHl.Address _
& vbCrLf _
& "SubAddress:" & vbTab & oHl.SubAddress & vbCrLf
Else
' it's text
strReport = strReport & "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 & vbCrLf
End If
Next ' hyperlink
Next ' Slide
ifilenum = FreeFile
Open filepath For Output As ifilenum
    Print #ifilenum, strReport
    Close ifilenum
  Call Shell("Notepad.exe " & filepath, vbNormalNoFocus)
End Sub
__________________
Microsoft PowerPoint MVP 2007-2023
Free Advanced PowerPoint Tips and Tutorials
Reply With Quote
  #3  
Old 10-19-2015, 01:22 PM
Desiderata Desiderata is offline Creating a list of Hyperlinks in PPT deck Windows 7 32bit Creating a list of Hyperlinks in PPT deck Office 2010 32bit
Novice
Creating a list of Hyperlinks in PPT deck
 
Join Date: Sep 2013
Location: Bloomington, IL
Posts: 7
Desiderata is on a distinguished road
Thumbs up

Simply wonderful,
Thanks a million!
Dennis
Reply With Quote
  #4  
Old 06-15-2016, 12:50 PM
Desiderata Desiderata is offline Creating a list of Hyperlinks in PPT deck Windows 7 32bit Creating a list of Hyperlinks in PPT deck Office 2010 32bit
Novice
Creating a list of Hyperlinks in PPT deck
 
Join Date: Sep 2013
Location: Bloomington, IL
Posts: 7
Desiderata is on a distinguished road
Default

Quote:
Originally Posted by JohnWilson View Post
I'm guessing you would like a printable list from Steve's code?

here's how to get that:

Code:
Sub ShowMeTheHyperlinksPrintable()
' Lists the slide number, shape name and address
' of each hyperlink
Dim oSl As Slide
Dim oHl As Hyperlink
Dim strReport As String
Dim ifilenum As Integer
Dim filepath As String
filepath = Environ("USERPROFILE") & "\Desktop\links.txt"
For Each oSl In ActivePresentation.Slides
For Each oHl In oSl.Hyperlinks
If oHl.Type = msoHyperlinkShape Then
strReport = strReport & "HYPERLINK IN SHAPE" _
& vbCrLf _
& "Slide: " & vbTab & oSl.SlideIndex _
& vbCrLf _
& "Shape: " & oHl.Parent.Parent.Name _
& vbCrLf _
& "Address:" & vbTab & oHl.Address _
& vbCrLf _
& "SubAddress:" & vbTab & oHl.SubAddress & vbCrLf
Else
' it's text
strReport = strReport & "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 & vbCrLf
End If
Next ' hyperlink
Next ' Slide
ifilenum = FreeFile
Open filepath For Output As ifilenum
    Print #ifilenum, strReport
    Close ifilenum
  Call Shell("Notepad.exe " & filepath, vbNormalNoFocus)
End Sub
Hi John,
This was working, but we've recently upgraded to 2013. Not I get a run time error '445' The debugger says the problem is:
strReport = strReport & "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 & vbCrLf


Here is the macro you provided earlier.


Sub ShowMeTheHyperlinksPrintable()
' Lists the slide number, shape name and address
' of each hyperlink
Dim oSl As Slide
Dim oHl As Hyperlink
Dim strReport As String
Dim ifilenum As Integer
Dim filepath As String
filepath = Environ("USERPROFILE") & "\Desktop\links.txt"
For Each oSl In ActivePresentation.Slides
For Each oHl In oSl.Hyperlinks
If oHl.Type = msoHyperlinkShape Then
strReport = strReport & "HYPERLINK IN SHAPE" _
& vbCrLf _
& "Slide: " & vbTab & oSl.SlideIndex _
& vbCrLf _
& "Shape: " & oHl.Parent.Parent.Name _
& vbCrLf _
& "Address:" & vbTab & oHl.Address _
& vbCrLf _
& "SubAddress:" & vbTab & oHl.SubAddress & vbCrLf
Else
' it's text
strReport = strReport & "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 & vbCrLf
End If
Next ' hyperlink
Next ' Slide
ifilenum = FreeFile
Open filepath For Output As ifilenum
Print #ifilenum, strReport
Close ifilenum
Call Shell("Notepad.exe " & filepath, vbNormalNoFocus)
End Sub


Thanks!
Reply With Quote
  #5  
Old 06-16-2016, 01:06 AM
JohnWilson JohnWilson is offline Creating a list of Hyperlinks in PPT deck Windows 7 64bit Creating a list of Hyperlinks in PPT deck Office 2010 32bit
Programmer
 
Join Date: Nov 2008
Location: UK
Posts: 1,913
JohnWilson has a spectacular aura aboutJohnWilson has a spectacular aura about
Default

The macro works just fine in 2013 and 2016. 445 is Object does not support this action so I guess you have applied a hyperlink to an unsupported shape. I can't guess or imagine what that could be though.I know hyperlinks in Smart Art don't show but I don't get an error here just no text.

In essence though there's nothing wrong with the code but there is a problem with a particular presentation. Try it with a presentation with straightforward hyperlinks and then slowly add more.
__________________
Microsoft PowerPoint MVP 2007-2023
Free Advanced PowerPoint Tips and Tutorials
Reply With Quote
  #6  
Old 06-16-2016, 02:37 AM
JohnWilson JohnWilson is offline Creating a list of Hyperlinks in PPT deck Windows 7 64bit Creating a list of Hyperlinks in PPT deck Office 2010 32bit
Programmer
 
Join Date: Nov 2008
Location: UK
Posts: 1,913
JohnWilson has a spectacular aura aboutJohnWilson has a spectacular aura about
Default

If you have links inside a table it will error. The "Shape" containing the link will be the cell and it does not have a name.

This code is clumsy but it might work.

Code:
Sub ShowMeTheHyperlinksPrintable()
' Lists the slide number, shape name and address
' of each hyperlink
Dim oSl As Slide
Dim oHl As Hyperlink
Dim oshp As Shape
Dim strName As String
Dim strReport As String
Dim ifilenum As Integer
Dim filepath As String
filepath = Environ("USERPROFILE") & "\Desktop\links.txt"
For Each oSl In ActivePresentation.Slides
For Each oHl In oSl.Hyperlinks
If oHl.Type = msoHyperlinkShape Then
strReport = strReport & "HYPERLINK IN SHAPE" _
& vbCrLf _
& "Slide: " & vbTab & oSl.SlideIndex _
& vbCrLf _
& "Shape: " & oHl.Parent.Parent.Name _
& vbCrLf _
& "Address:" & vbTab & oHl.Address _
& vbCrLf _
& "SubAddress:" & vbTab & oHl.SubAddress & vbCrLf
Else
' it's text
On Error Resume Next
Err.Clear
strName = oHl.Parent.Parent.Parent.Parent.Name
If strName = "" Then
oHl.Parent.Parent.Parent.Parent.Select
strName = ActiveWindow.Selection.ShapeRange(1).Name
End If
strReport = strReport & "HYPERLINK IN TEXT" _
& vbCrLf _
& "Slide: " & vbTab & oSl.SlideIndex _
& vbCrLf _
& "Shape: " & strName _
& vbCrLf _
& "Address:" & vbTab & oHl.Address _
& vbCrLf _
& "SubAddress:" & vbTab & oHl.SubAddress & vbCrLf
End If
Next ' hyperlink
Next ' Slide
ifilenum = FreeFile
Open filepath For Output As ifilenum
Print #ifilenum, strReport
Close ifilenum
Call Shell("Notepad.exe " & filepath, vbNormalNoFocus)
End Sub
__________________
Microsoft PowerPoint MVP 2007-2023
Free Advanced PowerPoint Tips and Tutorials
Reply With Quote
Reply

Tags
hyperlinks, review



Similar Threads
Thread Thread Starter Forum Replies Last Post
Need to put LOTS of pictures into ppt deck - 1 per slide Mmitch799 PowerPoint 1 09-24-2015 04:38 AM
Master Slide Deck creb1099 PowerPoint 2 11-20-2013 07:37 AM
Creating a list of Hyperlinks in PPT deck How to keep hyperlinks when creating a table of contents Abacaxi Word 3 04-18-2012 12:24 AM
Creating a list of Hyperlinks in PPT deck Mac: Problem creating hyperlinks cpm Word 4 04-13-2011 06:25 AM
Creating a list of Hyperlinks in PPT deck Creating Hyperlinks alicein1derville Excel 5 02-08-2009 10:31 PM

Other Forums: Access Forums

All times are GMT -7. The time now is 12:03 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.
Search Engine Optimisation provided by DragonByte SEO (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
MSOfficeForums.com is not affiliated with Microsoft