VBA를 통해 특정 스타일이 적용된 인스턴스를 계산하는 방법은 무엇입니까?


0

Word에서는 스타일 창에서 스타일의 풀다운 메뉴를 클릭 할 수 있으며 활성 문서 전체에서 해당 스타일이 적용되는 빈도를 보여줍니다. 이것은 쉽게 이용할 수있는 정보입니다.

VBA를 통해이 정보를 얻을 수있는 방법이 있습니까?

답변:


2

사용 방법을 정확히 지정하지 않았지만 시작해야합니다. TechArchive.net- Style Instance Count 에서이 값을 찾았습니다 . 이들은 약간 수정하면 원하는 스타일을 셀 수있는 두 개의 VBA 서브입니다.

Sub CountStyle()
Dim l As Long
ResetSearch
With ActiveDocument.Range.Find
   .Style = "Strong" 'Replace with the name of the style you are counting
   While .Execute
      l = l + 1
      If l > ActiveDocument.Range.Paragraphs.Count Then
         Stop
      End If
   Wend
End With
MsgBox l
ResetSearch
End Sub

Public Sub ResetSearch()
With Selection.Find
   .ClearFormatting
   .Replacement.ClearFormatting
   .Text = ""
   .Replacement.Text = ""
   .Forward = True
   .Wrap = wdFindContinue
   .Format = False
   .MatchCase = False
   .MatchWholeWord = False
   .MatchWildcards = False
   .MatchSoundsLike = False
   .MatchAllWordForms = False
   ' plus some more if needed
   .Execute
End With
End Sub

사용중인 버전이 확실하지 않지만 Word 2010에서 작동했습니다.


안녕하세요, 답변 감사합니다. WinWord 2007을 사용하고 있습니다. 내 프로젝트는 스타일과 해당 특성을 Excel 테이블로 읽고 필요한 경우 스타일을 변경 한 후 다시 작성하는 것입니다. VBA 내에서 실제로 사용되는지 여부를 확인할 수 없기 때문에 사용하지 않는 스타일을 삭제하는 것이 유일한 문제였습니다. 마지막으로 모든 스토리 범위를 반복하는 루틴을 작성했지만 전체 매크로를 30 분 동안 실행합니다. -찾기 및 바꾸기 제안을 사용하면 몇 번의 교체가 발생했는지 알려줍니다. -Marcel
Marcel

난 루크가 아니야 이것은 찾기 및 바꾸기 제안이 아닙니다. 보고있는 찾기 및 바꾸기 부분은 다음 실행을 위해 검색을 재설정하는 VBA의 일부입니다.
CharlieRB

CharlieRB 감사합니다. 나는 그것을 완전히 이해하기 위해 코드에 대해 언급했다-결코 좋은 생각이 아니다.
Marcel
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.