2013-04-22 150 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

相關問題