Вопрос

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

Спасибо!

Это было полезно?

Решение

Прямого метода (насколько я знаю) не существует, однако вы можете проверить с помощью 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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top