Как определить Тематические шрифты в Powerpoint 2007 VBA? - PullRequest
3 голосов
/ 14 октября 2009

Кто-нибудь знает, как обнаружить использование шрифтов Theme в слайд-объектах Powerpoint 2007 с помощью VBA? Если взглянуть на Shape.TextFrame.TextRange.Font.Name, то имя шрифта выглядит как простое имя (например, «Arial»), независимо от того, был ли шрифт назначен как фиксированное имя или название темы (может изменяться в зависимости от темы документа) Я не вижу другого свойства в объектной модели, которое помечало бы имя как привязанное к теме (например, ObjectThemeColor для цветов).

Спасибо!

1 Ответ

1 голос
/ 14 октября 2009

Прямого метода (о котором я знаю) не существует, однако вы можете проверить с помощью If / Then:

Sub checkthemeFont()
    Dim s As Shape
    Set s = ActivePresentation.Slides(1).Shapes(1)
    Dim f As Font
    Set f = s.TextFrame.TextRange.Font

    Dim themeFonts As themeFonts
    Dim majorFont As ThemeFont

    Set themeFonts = ActivePresentation.SlideMaster.Theme.ThemeFontScheme.MajorFont
    Set majorFont = themeFonts(msoThemeLatin)

    If f.Name = majorFont Then
        Debug.Print f.Name
    End If
End Sub
...