Word(워드) 문서 파일에서 사용하지 않는 스타일을 일괄 삭제하는 방법
Word(워드)에서 기존 문서 파일을 복사하여 새 문서를 만드는 경우가 많지만 이를 반복하면 사용하지 않는 스타일이 늘어날 수 있습니다.
불필요한 스타일을 삭제하는 경우, 통상은 스타일 윈도우등에서 하나씩 삭제해야 하고, 불필요한 스타일이 많이 있으면 상당히 귀찮은 작업이 되어 버립니다.
그래서 여기에서는 VBA를 사용하여 Word 문서 파일에서 사용하지 않는 스타일을 일괄 삭제하는 방법을 소개합니다.
목차
운영 환경
이 기사는 다음 환경에서 수행한 결과를 기반으로 합니다. 다른 에디션이나 버전에서는 동작 결과가 다를 수 있음을 양해 바랍니다.
소프트웨어 | 버전 |
---|---|
Windows10 Pro 64bit | 20H2 |
Microsoft Word for Microsoft 365 | 16.0.14701.20146 |
스타일을 일괄 삭제
문서 파일에서 불필요한 스타일을 삭제하는 경우 일반적으로 “스타일”창 등에서 삭제할 타일의 오른쪽 가장자리에 표시되는 “▼”를 클릭하고 메뉴에서 “(스타일 이름) 삭제”를 선택합니다. 합니다.
하지만 위의 방법으로는 하나씩만 스타일을 삭제할 수 있으므로 불필요한 스타일이 많이 있는 경우 VBA를 사용하여 일괄 삭제하는 것이 좋습니다.
절차는 다음과 같습니다.
만일의 문제에 대비해 작업 대상의 문서 파일을 복사해 백업해 둡시다.
대상 문서 파일을 열고 바로 가기 키 “Alt + F11″을 누릅니다.
Microsoft Visual Basic for Applications 화면이 표시되므로 화면 왼쪽의 프로젝트 탐색기에서 ThisDocument를 두 번 클릭합니다.
코드 입력 화면이 표시되므로 아래 내용을 그대로 입력란에 복사하여 붙여 넣습니다.
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/User Form 실행 버튼을 클릭합니다.
미사용 스타일 삭제 처리가 시작되고 삭제가 완료되면 아래와 같이 삭제한 스타일이 팝업으로 표시되므로 확인 후[OK]를 클릭합니다.
Microsoft Visual Basic for Applications 화면으로 돌아가서 입력한 코드를 삭제한 후 창 오른쪽 상단의 X 버튼으로 닫습니다.
마지막으로 문서 파일을 덮어 쓰면 미사용 스타일의 일괄 삭제 완료입니다.
덧붙여 스타일 화면이나 VBA로부터 삭제할 수 있는 스타일은, 유저가 작성한 스타일만으로, 디폴트로 준비되어 있는 스타일을 삭제할 수 없으므로 주의해 주세요.
나중에
Word에서 효율적으로 문서를 작성하는데 「스타일」은 빠뜨릴 수 없는 기능이므로, 불필요한 스타일을 삭제해 두면, 문서 작성시에 스타일 선택으로 번거로움이 없어질 것입니다.
활용 저것.