To assign a Headings (major) or Body (minor) font style to text, you change the font name to this:

"+" & FontType & "-" & FontLang


  • Major (Headings) = "mj"
  • Minor (Body) = "mn"


  • Latin = "lt"
  • Complex Scripts = "cs"
  • East Asian = "ea"

So to change all of the selected shapes on a slide to the Major/Headings typeface for Latin text:

Sub Example()
    Dim osh As Shape
    For Each osh In ActiveWindow.Selection.ShapeRange
        With osh
            With .TextFrame.TextRange
                .Font.Name = "+mj-lt"
            End With
        End With
End Sub

After selecting some shapes that include text and running this, go to the Design tab and change the Fonts themes. Note that each of the changed text box fonts will change to as you change font themes.