1

我想知道是否有办法获取设置超链接的位置。在形状的情况下,它们具有顶部和左侧值,我可以使用 Slides(i).Hyperlinks 选择超链接,但我无法找到在演示文稿中找到的超链接位置的方法,因为我可以使用形状。有没有办法做到这一点?

4

1 回答 1

4

您需要查看每个超链接的类型以确定它是超链接形状还是应用于文本的超链接。您已经知道如何处理形状,但如果是文本,您必须沿着父链向上查找超链接应用到的文本范围。textrange 的 BoundLeft、BoundTop、BoundWidth 和 BoundHeight 属性将告诉您文本的位置。

注意:如果您在没有服务包的 PPT 2007 中执行此操作,PPT 将消失。噗。走了。

Dim oHl As Hyperlink
Dim oSl As Slide
Dim oRng As TextRange
Set oSl = ActivePresentation.Slides(1)

For Each oHl In oSl.Hyperlinks
    With oHl
        If .Type = msoHyperlinkRange Then
            Debug.Print TypeName(.Parent)
            Debug.Print TypeName(.Parent.Parent)
            Debug.Print TypeName(.Parent.Parent.Parent)
            Debug.Print TypeName(.Parent.Parent.Parent.Parent)
            Set oRng = .Parent.Parent
            Debug.Print oRng.Text
            Debug.Print oRng.BoundLeft
            Debug.Print oRng.BoundTop
        Else
            ' it's a hyperlinked shape

        End If
    End With
Next
于 2013-04-22T19:30:50.487 回答