Word(ワード)の文書ファイルから使用していないスタイルを一括削除する方法

Word(ワード)の文書ファイルから使用していないスタイルを一括削除する方法

Word(ワード)で文書を作成するとき、既存の文書ファイルをコピーして新しい文書を作成することがよくありますが、これを繰り返していると、文書内に使用していないスタイルが増えてしまうことがあります。

文書内で不要なスタイルを削除する場合、通常はスタイルウィンドウなどから一つずつ削除しますが、不要なスタイルがたくさんあると結構面倒な作業となってしまいます。

そこでここでは、Word(ワード)のVBAを使って、文書ファイル内で使用していないスタイルを一括削除する方法を紹介します。

この記事は、以下の環境で実行した結果を基にしています。他のエディションやバージョンでは、動作結果が異なる場合があることをご了承ください。

ソフトウェアバージョン
Windows 10 Pro 64bit20H2
Microsoft Word for Microsoft 36516.0.14701.20146
created by Rinker
マイクロソフト
¥13,545 (2024/04/25 01:22:35時点 Amazon調べ-詳細)

スタイルを一括削除する

文書ファイルで不要なスタイルを削除する場合、通常は「スタイル」ウィンドウなどから、削除するタイルの右端に表示されている「▼」をクリックして、メニューから「(スタイル名)の削除」を選択します。

Word(ワード)の文書ファイルから使用していないスタイルを一括削除する方法

ですが、上の方法では一つずつしかスタイルを削除できないので、不要なスタイルがたくさんある場合は、VBAを使って一括削除するのがおススメです。

手順は、次のとおりです。

Memo

万が一のトラブルに備えて作業対象の文書ファイルをコピーしてバックアップしておきましょう。

対象の文書ファイルを開き、ショートカットキー「Alt+F11」を押します。

「Microsoft Visual Basic for Applications」画面が表示されるので、画面左側の「プロジェクトエクスプローラー」から「ThisDocument」をダブルクリックします。

Word(ワード)の文書ファイルから使用していないスタイルを一括削除する方法

コードの入力画面が表示されるので、以下の内容をそのまま入力欄にコピー&ペーストします。

Word(ワード)の文書ファイルから使用していないスタイルを一括削除する方法

Sub delete_style()

  Dim aSty As Style
  Dim sMsg As String

  For Each aSty In ActiveDocument.Styles
    Select Case aSty.Type
    Case wdStyleTypeParagraph, wdStyleTypeParagraphOnly, wdStyleTypeCharacter
      If aSty.InUse = True And aSty.BuiltIn = False Then
        With ActiveDocument.Content.Find
          .ClearFormatting
          .Text = ""
          .Style = aSty
          .Execute Format:=True
          If .Found = False Then
            sMsg = sMsg & aSty.NameLocal & vbCrLf
            aSty.Delete
          End If
        End With
      End If
    End Select
  Next aSty

  If sMsg <> "" Then
    MsgBox "以下のスタイルを削除しました" & vbCrLf & sMsg, _
      vbInformation, "スタイルの削除"
  End If
  Set aSty = Nothing
End Sub

コードを入力したら、画面上部のメニューから「Sub/ユーザーフォームの実行」ボタンをクリックします。

Word(ワード)の文書ファイルから使用していないスタイルを一括削除する方法

未使用スタイルの削除処理が開始され、削除が完了すると以下のように削除したスタイルがポップアップで表示されるので、確認後「OK」をクリックします。

Word(ワード)の文書ファイルから使用していないスタイルを一括削除する方法

「Microsoft Visual Basic for Applications」画面に戻り、入力したコードを削除した後に、ウィンドウ右上の「X」ボタンで閉じます。

Word(ワード)の文書ファイルから使用していないスタイルを一括削除する方法

最後に文書ファイルを上書き保存すれば、未使用スタイルの一括削除完了です。

Memo

なお、スタイル画面やVBAから削除できるスタイルは、ユーザーが作成したスタイルのみで、デフォルトで用意されているスタイルを削除することはできないのでご注意ください。

あとがき

Wordで効率よく文書を作成するのに「スタイル」は欠かせない機能なので、不要なスタイルを削除しておけば、文書作成時にスタイル選択で手間取ることがなくなるでしょう。

ご活用あれ。