c# – 如何检索演示文稿中PowerPoint幻灯片之间的链接

我正在寻找一种方法来阅读单个PowerPoint演示文稿中的幻灯片之间的链接.我需要打开一个PowerPoint文件并检索幻灯片彼此之间的所有链接.

现在我正在使用Aspose,但看起来他们没有任何东西可以读取幻灯片之间的链接.

我已经阅读了有关PowerPoint 2007/2010文件格式的更多信息,并发现它只是一个zip存档.重命名后,您可以看到其中的所有xml数据.有没有人知道里面的许多xml文件中的哪一个包含哪些幻灯片链接的信息和什么幻灯片?

我需要在C#或VB.NET中完成它.

最佳答案 如果您不需要,则无需在此处转到OpenXML – 这可以通过对象模型完成.以下是在VBA中完成的操作,可以轻松移植到C#或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,“,”)虽然不是万无一失的.内部链接的模式是#,#,Slide Title,所以你可能需要像一些RegEx那样做得更好.

点赞