Как определить тематические шрифты в Powerpoint 2007 VBA?
-
21-09-2019 - |
Вопрос
Кто-нибудь знает, как определить использование тематических шрифтов в объектах слайдов 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
Не связан с StackOverflow