代码之家  ›  专栏  ›  技术社区  ›  Yaroslav Yakovlev

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

  •  4
  • Yaroslav Yakovlev  · 技术社区  · 14 年前

    现在我用的是 Aspose 但他们似乎没有任何东西可以阅读幻灯片之间的链接。

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

    2 回复  |  直到 14 年前
        1
  •  2
  •   Todd Main    14 年前

    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

        2
  •  0
  •   Corey Larson    10 年前

    为了在C#中实现这一点,下面是一个查找链接幻灯片的好方法:

        private int GetSlideIndexFromHyperlink(Hyperlink hyperlink)
        {
            var subAddrParts = hyperlink.SubAddress.Split(',');
            return int.Parse(subAddrParts[1]);
        }
    

    shape.ActionSettings[PpMouseActivation.ppMouseClick] .

    SlideId,SlideIndex,SlideTitle . 用这种方法通过一些小的调整获得其他部分(如果需要的话)应该相当简单。