정의가 될 단어 문서에 색인을 작성하고 있습니다. 내 색인은 다음과 같습니다
슈퍼 히어로-슈퍼 인 사람 ..... 17
버스-위너 개처럼 길고 긴 자동차 ..... 28
고양이-이것은 작은 동물입니다 ......... 17
기타...
내 문서에서 텍스트는 다음과 같습니다.
그리고 슈퍼 히어로가 있습니다 -슈퍼 존재입니다.
"슈퍼 히어로"에 밑줄이 표시되어 있습니다 (밑줄을 표시하는 방법을 찾을 수 없으므로 대담하게 표시했습니다).
색인에 추가 할 때이 밑줄을 유지하는 방법이 있습니까? 또는 VBA를 사용하여 색인을 스캔하고 -
? 앞에 나오는 각 줄에 텍스트에 밑줄을 긋는 방법이 있습니까?
편집 : 큰 아이디어는 120 페이지 이상의 문서가 있으며 비교적 자주 변경됩니다. 문서를 스캔하여 정의 ( "[something]-means"로 정의 됨)를 찾을 수있는 매크로가 있습니다. 그런 다음 이러한 정의를 색인에 추가하지만 문서에 존재하는 밑줄을 제거합니다. 색인에 다시 추가하고 싶습니다.
인덱스에 추가 할 때와 마찬가지로 모든 정의를 스캔하고 정의가 내 문서의 마지막 섹션에 있는지 확인할 수 있습니까? 내가 어떤 섹션 번호인지 If selection.section = activedocument.sections.count Then
알 수 없다는 점을 제외하고 는 VBA에서 어떻게해야합니까 .Section
? \
여기 내가 가진 코드가 있습니다. activedocument.sections.count
마지막 섹션 임에도 불구하고 내 인덱스가.보다 한 섹션이 적 으면 작동 합니다. 어쨌든, 이것은 효과가 있으며 텍스트를 얻을 수 있지만 첫 비트에만 밑줄을 긋는 방법을 계속 찾아야합니다.
Sub underline_Index_Definitions()
Dim myDoc As Word.Document
Dim rngDoc As Word.Range
Dim rngXE As Word.Range
Dim numParas&
Dim bFound As Boolean
Dim rng As Word.Range
Set myDoc = ActiveDocument
Set rngDoc = myDoc.Content
Set rngXE = rngDoc.Duplicate
bFound = True
Debug.Print "You have : " & myDoc.Sections.Count & " sections."
With rngDoc.Find
.ClearFormatting
.ClearAllFuzzyOptions
.Text = "- means"
.Format = False
.Wrap = wdFindStop
End With
Do While bFound
bFound = rngDoc.Find.Execute
If bFound Then
Set rngXE = rngDoc.Duplicate
rngXE.Select
If rngXE.Information(wdActiveEndSectionNumber) = myDoc.Sections.Count - 1 Then
rngXE.Select
End If
End If 'bFound
Loop
End Sub
-
(모든 정의가있는) 찾고있는 것을 제외하고는 많이 시도하지 않았습니다 . 색인에 도착하면 어떻게 알 수 있습니까? 마지막 색인이 고유 한 섹션이고 문서의 마지막 섹션인지 확인한 후 어떻게해서 반복 할 수 있습니까? 섹션에있는 섹션을 볼 If [the found word].Section = activedocument.sections.count then
수 없다는 점을 제외하고[range].Section