VBA-PPT改变了超链接的颜色

时间:2017-11-30 09:25:57

标签: vba colors hyperlink powerpoint powerpoint-vba

我正在尝试更改PowerPoint演示文稿中所有超链接的颜色。

这是我的第一次尝试:

Sub ChangeShapeColor()

Dim oHl As Hyperlinks
Dim oSl As Slide

' Look at each slide in the current presentation:
For Each oSl In ActivePresentation.Slides

    ' Look at each shape on each slide:
    For Each oHl In oSl.Shapes

        ' IF the shape's .Fill.ForeColor.RGB = black color:
        If oHl.Fill.ForeColor.RGB = RGB(0, 0, 0) Then
            ' Change it to corporate yellow:
            oHl.Fill.ForeColor.RGB = RGB(242, 235, 26)
        End If

    Next oHl
Next oSl

End Sub

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

要调整所有超链接颜色,请更改颜色方案,特别是方案中的第11和第12个插槽,它们是控制超链接颜色的插槽。

这是一个将超链接设置为超绿色和红色的示例:

Sub SetHyperlinkColors()
    With ActivePresentation.Designs(1).SlideMaster.Theme.ThemeColorScheme
        ' Hyperlink color
        .Colors(11).RGB = RGB(0, 255, 0)
        ' Followed hyperlink color
        .Colors(12).RGB = RGB(255, 0, 0)
    End With
End Sub

这是简化版。它仅作用于演示文稿中的第一个设计(即主)。如果你有多个设计,你可以做这样的事情,这也适用于只有一种设计的演示:

Sub SetHyperlinkColors()
    Dim x as Long
    With ActivePresentation
        For x = 1 to .Designs.Count
            With .Designs(x).SlideMaster.Theme.ThemeColorScheme
                ' Hyperlink color
                .Colors(11).RGB = RGB(0, 255, 0)
                ' Followed hyperlink color
                .Colors(12).RGB = RGB(255, 0, 0)   
            End With ' Designs(x)
        Next  ' Design
    End with
End Sub