TeraMacroとかPythonでは無く、MSオフィスのマクロ集です。(GPT4に書いて貰ったものを含みます。)

Sub ReplaceFonts()
Dim doc As Document
Dim rng As Range
Dim i As Integer
Set doc = ActiveDocument

' 日本語の文字列のフォントとサイズを置換
For i = 1 To Len(doc.Range.Text)
    Set rng = doc.Range.Characters(i)
    If IsJapanese(rng.Text) Then
        rng.Font.Name = "明朝体"
        rng.Font.Size = 5
    End If
Next i

' 英語の文字列のフォントとサイズを置換
For i = 1 To Len(doc.Range.Text)
    Set rng = doc.Range.Characters(i)
    If IsEnglish(rng.Text) Then
        rng.Font.Name = "MS ゴシック"
        rng.Font.Size = 5
    End If
Next i

' 数値のフォントとサイズを置換
For i = 1 To Len(doc.Range.Text)
    Set rng = doc.Range.Characters(i)
    If IsNumeric(rng.Text) Then
        rng.Font.Name = "Meiryo UI"
        rng.Font.Size = 5
    End If
Next i

End Sub

Function IsJapanese(char As String) As Boolean
‘ 日本語判定(ユニコード範囲による簡易判定)
IsJapanese = (AscW(char) >= &H3040 And AscW(char) <= &H30FF) Or _ (AscW(char) >= &H4E00 And AscW(char) <= &H9FAF) Or _ (AscW(char) >= &HFF66 And AscW(char) <= &HFF9D)
End Function

Function IsEnglish(char As String) As Boolean
‘ 英語判定(ASCIIコード範囲による簡易判定)
IsEnglish = (AscW(char) >= 65 And AscW(char) <= 90) Or _ (AscW(char) >= 97 And AscW(char) <= 122)
End Function

※500までと言う制限は、コードを「親子化」等すると増やせます。
※下記のコードは1個分の置換しか書いていませんが、ちょっとした工夫でカンタンに500個分書けます。ヒントは「エクセルの表でエクセルのマクロを書く」です。日常的にコンフィグ書いている人なら知っているテクニックだと思います。

Cells.Replace What:=”置換前①”, Replacement:=”置換後①”, LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False

※「番号の飛びの無い星形オブジェクト」をマクロで生成し、カット&ペーストで図に載せれば番号の抜け飛びが発生しません。

Sub CreateStarShapes()
Dim slide As slide
Dim shape As shape
Dim i As Integer
Dim xPos As Single
Dim yPos As Single
Dim size As Single

' 初期位置とサイズ
xPos = 100
yPos = 100
size = 32

' アクティブなスライドを取得
Set slide = ActivePresentation.Slides(1)

' 20個の星形を作成
For i = 1 To 20
    ' 星形を追加
    Set shape = slide.Shapes.AddShape(msoShape16pointStar, xPos, yPos, size, size)

    ' 枠線と塗りつぶしの設定
    With shape
        .Line.ForeColor.RGB = RGB(255, 0, 0) ' 赤色の枠線
        .Fill.ForeColor.RGB = RGB(255, 0, 0) ' 赤色の塗りつぶし

        ' 内部のテキスト設定
        With .TextFrame.TextRange
            .Text = ChrW(&H2460 + (i - 1)) ' ①からの番号付け
            .Font.size = 14 ' フォントサイズ
            .Font.Color = RGB(255, 255, 255) ' 白色の文字
        End With
    End With

    ' 位置の更新
    xPos = xPos + 5
    yPos = yPos + 5
Next i

End Sub