1

ハイパーリンクが設定されている位置を取得する方法があれば知りたいです。Shapes の場合、上と左の値があり、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 に答える