2013-04-22 2 views
0

Я хочу знать, есть ли способ получить позицию, в которой установлена ​​гиперссылка. В случае Shapes у них есть верхнее и левое значения, и я могу выбрать гиперссылки со Слайдами (i) .Hyperlinks, но я не могу найти способ найти позицию гиперссылок, которые я нахожу в презентации, как я могу сделать с формы. Есть ли способ сделать это?найти позицию текстовой ссылки в презентации PowerPoint

+0

Ваши гиперссылки - это текст в текстовом поле (или форме), или у вас есть разные типы гиперссылок? если они есть текст в текстовом поле, у вас есть верх/левый из этой формы - этого недостаточно? вам нужно точное положение того, что - левый/верхний угол первой левой буквы? –

+0

Пробег в том, что я не знаю, какая у него фигура, у которой есть гиперссылка ... и мне нужно будет найти позицию только гиперссылки в случае текстовой ссылки без целого текстового поля –

ответ

3

Вам нужно посмотреть тип каждой гиперссылки, чтобы определить, является ли это гиперссылкой или гиперссылкой, применяемой к тексту. Вы уже знаете, как обращаться с фигурами, но если это текст, вам нужно подойти к родительской цепочке, чтобы найти textrange, к которому применяется гиперссылка. Свойства BoundLeft, BoundTop, BoundWidth и BoundHeight объекта textrange скажут вам, где находится текст.

Примечание: если вы сделаете это в 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 от меня и надеюсь, что Ибан добавит другие очки :) –

+0

Да, действительно ... это тот ответ, который я искал! Благодаря!! –

Смежные вопросы