アウトラインレベルの復帰

今、大学の自己点検・評価のための文書の整理の仕事に携わっています。
やってることは、何のことは無い、100ページのWORDファイルの校正と整形です。
数10ページを超える文書の作成となると、見出しスタイルを設定し、見出しマップで文書内をうろうろしながら編集していくのが便利なのです*1が、WORDが何かのタイミングで行頭に記号のある行などを勝手に見出しだと勘違いして設定してしまうことがあります。
そうすると、せっかく自動で作ってくれる目次もぐちゃぐちゃに。
(余計なオートコレクトなんかははずしているはずなのに?何で?)
そんな時に便利なマクロ。

'WORDが勝手に設定したアウトラインの設定をスタイル既定の値に戻す
Sub NormalizeOutlineLevel()
    Dim TargetRange As Range
    Set TargetRange = ActiveDocument.Range
    
    Dim P As Paragraph
    For Each P In TargetRange.Paragraphs
        Dim OLevel
        OLevel = ActiveDocument.Styles(P.Style).ParagraphFormat.OutlineLevel
        If P.OutlineLevel <> OLevel Then
            P.OutlineLevel = OLevel
        End If
    Next
End Sub