見出し画像

WordVBAでセクション区切り等の編集記号を一括削除する

Wordで、セクション区切りや手動改ページ等の編集記号を一括削除したいことがあると思います。
標準機能の置換機能を利用して編集記号(例:^m →手動改ページ)を覚えていれば置換可能ですが、覚えるのも面倒ですよね。

そこで、個人的によく利用する編集記号はWordVBAで削除すると便利です。

Sub sbアクティブドキュメントのセクション区切り削除()
    Call sbドキュメントの特殊記号削除(ActiveDocument, "^b")  '^b:セクション区切り
End Sub

Sub sbアクティブドキュメントの手動改ページ削除()
    Call sbドキュメントの特殊記号削除(ActiveDocument, "^m")  '^m:手動改ページ
End Sub

Sub sbドキュメントの特殊記号削除(a_対象doc As Document, a_deleteText As String)
    Call sbSetting(True)  '画面更新OFF等の初期設定ON
   
    ' ドキュメント内の指定した特殊記号を削除
    With a_対象doc.Content.Find
        .ClearFormatting
        .Text = a_deleteText '可変
        Do While .Execute(FindText:=a_deleteText, ReplaceWith:="", Replace:=wdReplaceAll)
            ' 指定した特殊記号が見つかる限り実行
        Loop
    End With
    
    Call sbSetting(False)   '画面更新OFF等の初期設定OFF

End Sub

Public Sub sbSetting(flg As Boolean)
  If flg Then
    Application.ScreenUpdating = False                  '画面更新の停止
    Application.DisplayAlerts = False                   '画面警告の表示の停止
  Else
    Application.ScreenUpdating = True                   '画面更新の開始
    Application.DisplayAlerts = True                    '画面警告の表示の開始
  End If
End Sub

もしよろしければサポートをお願いします。今後の執筆のかてにします。