2013-04-22 93 views
0

我想知道是否有办法获取设置超链接的位置。在形状的情况下,他们有顶值和左值,我可以选择超链接与幻灯片(i).Hyperlinks,但我找不到方法来找到我在演示中找到的超链接的位置,因为我可以用形状。有没有办法做到这一点?在PowerPoint演示文稿中找到文本链接的位置

+0

您的超链接是文本框(或形状)内的文本,或者您有不同类型的超链接?如果它们是文本框中的文本,那么您有该形状的顶部/左侧 - 是不够的?你需要第一个左边字母的左侧/顶部的确切位置? – 2013-04-22 17:08:19

+0

问题是我不知道什么形状是超链接的人...我需要找到超链接的位置在文本链接的情况下没有整个文本框 – 2013-04-22 19:44:27

回答

3

您需要查看每个超链接的类型以确定它是超链接形式还是应用于文本的超链接。您已经知道如何处理这些形状,但是如果是文本,则必须沿着父链走向超链接才能找到该textrange。 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 
+0

这正是答案... +1我希望Iban会加上其他点:) – 2013-04-22 20:01:09

+0

是的确...这是我正在寻找的答案!谢谢!! – 2013-04-24 08:19:38

相关问题