There is no need to switch to OpenXML, if you do not need it - this can be done using the Object Model. Here's how to do it in VBA, which can be easily ported to C # or VB.NET.
Sub PrintInteralLinks() Dim ap As Presentation Set ap = ActivePresentation Dim hs As Hyperlinks Dim h As Hyperlink Dim sl As Slide Dim linkedToSlide As String Dim slideTitle As Integer For Each sl In ap.Slides Set hs = sl.Hyperlinks For Each h In hs slideTitle = InStrRev(h.SubAddress, ",") If slideTitle > 0 Then linkedToSlide = Mid(h.SubAddress, slideTitle + 1) Debug.Print sl.Name & " links to " & linkedToSlide End If Next Next End Sub
slideTitle = InStrRev(h.SubAddress, ",") , however, is not a fool. The template for internal links is #,#,Slide Title , so you may have to do it better, as with some RegEx.
source share