Kate는 문서의 머리글과 바닥 글에 대해서만 단어 수를 생성해야하는데 어떻게해야할지 모르겠습니다.

자동으로 수행하는 방법은 없지만 개수를 알아낼 매크로를 개발할 수 있습니다. VBA를 사용하면 문서의 각 섹션에있는 머리글을 쉽게 살펴볼 수 있으며 각 머리글에있는 단어 수를 확인할 수 있습니다. 한 가지 방법은 다음과 같은 매크로를 사용하는 것입니다.

Sub CntHeaderWords()

Dim s As Section     Dim h As HeaderFooter     Dim sRaw As String     Dim Cnt As Long     Dim J As Integer

Cnt = 0     For Each s In ActiveDocument.Sections         For Each h In s.Headers             For J = 1 To h.Range.Words.Count                 sRaw = h.Range.Words(J)

sRaw = Trim(sRaw)

If sRaw = vbCrLf Then sRaw = ""

If sRaw = vbCr Then sRaw = ""

If sRaw = vbLf Then sRaw = ""

If Len(sRaw) > 0 Then Cnt = Cnt + 1             Next J         Next h     Next s

MsgBox Cnt & " words in headers"

End Sub

이 매크로를 실행하면 문서의 각 섹션과 해당 섹션의 각 헤더를 차례로 살펴 봅니다. 단어 수는 각 헤더에 대해 결정되며 Cnt 변수에 추가됩니다. 매크로가 완료되면 문서 헤더의 단어 수를 표시합니다.

이 매크로에 대해 주목해야 할 몇 가지 흥미로운 사항이 있습니다.

첫째, 각 헤더의 Words 컬렉션에 대한 Count 속성을 결정할 수 있으므로 이러한 모든 개수를 함께 추가하여 전체 단어 수를 결정할 수 있다고 생각할 수 있습니다. 문제는 섹션에 대한 헤더가없는 경우에도 Word에서 “묵시적”헤더에 대해 단어 수 1을 반환한다는 것입니다. 이것이 매크로가 실제로 헤더의 각 단어를 검사하는 이유이며 캐리지 리턴이나 줄 바꿈에 불과하면 개수에 포함되지 않습니다.

주의해야 할 또 다른 항목은 헤더에 구두점이 있으면 각 구두점은 단어로 계산된다는 것입니다. 예를 들어 “All rights reserved”라는 머리글이있는 경우 Word는이를 세 단어로 간주합니다. 헤더가 “All rights reserved”인 경우. (마침표 뒤에 마침표가 있음) Word는이를 네 단어로 간주합니다. 결론은 헤더에 구두점이있을 수 있다고 생각되면 구두점을 계산하지 않도록 매크로 코드를 조정할 수 있다는 것입니다.

이 매크로는 문서의 헤더에 대한 단어 수만 반환합니다. 대신 머리글과 바닥 글에 대한 단어 수를 원하는 경우 다음과 같이 매크로를 조정할 수 있습니다.

Sub CntHFWords()

Dim s As Section     Dim h As HeaderFooter     Dim f As HeaderFooter     Dim sRaw As String     Dim HdCnt As Long     Dim FtCnt As Long     Dim J As Integer

HdCnt = 0     FtCnt = 0     For Each s In ActiveDocument.Sections         For Each h In s.Headers             For J = 1 To h.Range.Words.Count                 sRaw = h.Range.Words(J)

sRaw = Trim(sRaw)

If sRaw = vbCrLf Then sRaw = ""

If sRaw = vbCr Then sRaw = ""

If sRaw = vbLf Then sRaw = ""

If Len(sRaw) > 0 Then HdCnt = HdCnt + 1             Next J         Next h

For Each f In s.Footers             For J = 1 To f.Range.Words.Count                 sRaw = f.Range.Words(J)

sRaw = Trim(sRaw)

If sRaw = vbCrLf Then sRaw = ""

If sRaw = vbCr Then sRaw = ""

If sRaw = vbLf Then sRaw = ""

If Len(sRaw) > 0 Then FtCnt = FtCnt + 1             Next J         Next f     Next s

sRaw = "Header words: " & HdCnt & vbCrLf     sRaw = sRaw & "Footer words: " & FtCnt & vbCrLf     sRaw = sRaw & "Total words: " & HdCnt + FtCnt     MsgBox sRaw End Sub

이 버전의 매크로는 각 머리글에 적용되는 것과 똑같은 계산 기술을 각 바닥 글에 적용하여 매크로 끝에 개별 및 총 개수를 표시합니다.

_ 참고 : _

이 페이지 (또는 WordTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / wordribbon-WordTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_WordTips_는 비용 효율적인 Microsoft Word 교육을위한 소스입니다.

(Microsoft Word는 세계에서 가장 인기있는 워드 프로세싱 소프트웨어입니다.)이 팁 (10285)은 Microsoft Word 2007, 2010 및 2013에 적용됩니다.