본문 바로가기
IT Tools

MS Word에서 안 쓰는 스타일 제거하는 방법

by lucidiz 2023. 6. 8.
반응형

MS 워드에서 안 쓰는 스타일을 제거하는 방법은 수동 제거와 매크로(VB Script)를 사용하여 자동으로 제거하는 방법이 있습니다.


수동으로 MS 워드에서 안 쓰는 스타일을 제거하는 방법은 다음과 같습니다.

      1. 문서를 엽니다.
      2. "홈" 탭으로 이동합니다.
      3. "스타일" 그룹에서 "스타일 보기" 버튼을 클릭합니다. 이 버튼은 일반적으로 오른쪽에 있는 화살표 모양으로 표시됩니다.
      4. "스타일 보기" 패널이 열리면, 문서에 사용된 모든 스타일이 표시됩니다.
      5. 안 쓰는 스타일을 찾아서 선택합니다. 마우스로 스타일을 클릭하면 해당 스타일이 선택됩니다.
      6. "스타일 보기" 패널 상단의 "스타일 지우기" 버튼을 클릭합니다. 이 버튼은 휴지통 아이콘으로 표시됩니다.
      7. 선택한 스타일이 문서에서 제거됩니다.
      8. 모든 안 쓰는 스타일을 제거할 때까지 위 과정을 반복합니다.

스타일 보기
스타일 보기

위의 단계를 따라가면 문서에서 안 쓰는 스타일을 제거할 수 있습니다. 스타일을 제거하면 문서의 서식이 변경될 수 있으므로, 스타일을 제거하기 전에 문서의 외관을 확인하는 것이 좋습니다.

 

자동(VB Script)으로 MS 워드에서 안 쓰는 스타일을 제거하는 방법은 다음과 같습니다.

 

1. MS 워드를 엽니다.

2. "개발자" 탭을 표시하려면 다음과 같이 진행합니다: 파일(F) > 옵션(O) > 리본(오른쪽 창) > 개발자(C) > 확인(H).

3. "개발자" 탭에서 "매크로" 버튼을 클릭합니다.

개발자 매크로

4. 매크로 대화 상자가 나타나면, 새 매크로의 이름을 입력합니다.

매크로 추가

5. "만들기" 버튼을 클릭하여 VBA 편집기가 열리면, 아래의 스크립트를 붙여 넣습니다.

 

아래의 소스의 경우, Office 365 word에 해당합니다.

Sub delete()
    Dim doc As Document
    Dim style As style
    Dim usedStyles As New Collection
    
    Dim unusedStyles As String
    Dim filePath As String
    Dim fileNum As Integer
    Dim count As Integer
    
    Set doc = ActiveDocument
    
    
        ' 사용되지 않은 스타일을 제거하고 텍스트 파일에 저장합니다.
    filePath = "C:\Users\ziuga\Downloads\파일이름22.txt" ' 파일 경로와 이름을 적절하게 수정하세요.
    fileNum = FreeFile
    
    Open filePath For Output As fileNum
    
    
    ' 사용된 스타일 모으기
    For Each p In doc.Paragraphs
        On Error Resume Next
        usedStyles.Add p.style, CStr(p.style)
        
        'Print #fileNum, "사용 스타일- " & p.style.Type & "  -  " & p.style.NameLocal
        
        On Error GoTo 0
    Next p
    
    Print #fileNum, "스타일 개수:" & usedStyles.count
    MsgBox "스타일 개수:" & usedStyles.count
    
    
       
    MsgBox "모든 스타일 개수:" & doc.Styles.count
    Print #fileNum, "모든 스타일 개수:" & doc.Styles.count
    
    ' 모든 스타일을 파일에 저장합니다.
    'For Each style In doc.Styles
    '    Print #fileNum, style.NameLocal
    'Next style
    
    'Close fileNum
    
    
    count = 0
    
    
    Print #fileNum, "---------삭제스타일-------"
    ' 안 쓰는 스타일 제거
    For Each style In doc.Styles
        If style.NameLocal <> "Normal" And Not style.BuiltIn And style.Type = wdStyleTypeParagraph And Not style.InUse Then  '
            On Error Resume Next
            usedStyles.Item (style.NameLocal)
            If Err.Number <> 0 Then
                'MsgBox "다음 스타일이 제거되었습니다." & style.NameLocal
                
                
                Print #fileNum, "지운 스타일- " & style.Type & "  -  " & style.NameLocal
                style.delete
                
                count = count + 1
                If count = 1000 Then Exit For
        
            'End If
            On Error GoTo 0
        Else
            count = count + 1
            If count = 1000 Then Exit For
            Print #fileNum, "못지운 스타일- " & style.Type & "  -  " & style.InUse & "  -  " & style.BuiltIn & "  -  " & style.NameLocal
        End If
    Next style
    
    
    Close fileNum
    
    doc.Save
    
    Set doc = Nothing
    Set usedStyles = Nothing
    

MsgBox "끝"

End Sub

5. 스크립트에서 "doc.Save" 부분은 선택적으로 주석 처리하거나 제거할 수 있습니다. 이 경우, 변경된 내용이 자동으로 저장되지 않고 문서를 수동으로 저장해야 합니다.

6. 매크로 편집기 창을 닫습니다.

7. "매크로" 대화 상자에서 방금 생성한 매크로를 선택하고 "실행" 버튼을 클릭합니다.

매크로 실행

8. 매크로가 실행되면 안 쓰는 스타일이 제거됩니다.

9. 실행이 완료되면 "안 쓰는 스타일이 제거되었습니다."라는 메시지가 표시됩니다.

 

위의 매크로를 사용하면 안 쓰는 스타일을 자동으로 제거할 수 있습니다. 매크로를 실행하기 전에 문서의 외관을 확인하는 것이 좋습니다.

반응형