2012-07-26 2 views
0

VBA 코드를 사용하여 Word 문서에서 제목에 포함 된 섹션을 삭제하려고합니다. 내 상황에서 섹션은 화면 왼쪽의 탐색 창에있는 목록을 나타냅니다.VBA Word : 탐색 창에서 섹션 삭제

예를 들어, "Introduction"의 최상위 제목을 검색하여 삭제하고, 그 다음 최상위 제목은 그 아래에 세 개의 하위 섹션이있는 "Body"가됩니다. "본문"섹션을 선택하고 삭제합니다. Word 자체 내에서 모두 수행하기가 매우 쉽지만 VBA를 통해 수행하고 싶습니다. 탐색 창에서 삭제하는 동안 매크로 기록을 시도했지만 아무 것도 기록하지 않습니다.

편집 : 교대로 VBA를 사용하여 제목을 강조 표시 할 수 있으며 그 아래의 모든 항목과 같거나 더 큰 크기의 제목까지 사용할 수 있습니다.

모든 아이디어 나 제안을 주시면 감사하겠습니다.

+0

어떤 코드를 사용해 보셨습니까? 게시 해주세요. – ForEachLoop

답변

0

"매크로 기록"기능은 마우스를 사용하여 섹션을 선택할 수 있기 때문에 아무 것도 기록하지 않습니다. "매크로 기록"도구가 마우스와 잘 작동하지 않는 것으로 알려져 있습니다. 나는 문제를 해결하기 위해 내 말씀에서 다른 것을 시도했다. 있다, 즉

Selection.Find.ClearFormatting 
With Selection.Find 
    .Text = "Introduction" 
    .Replacement.Text = "" 
    .Forward = True 
    .Wrap = wdFindContinue 
    .Format = False 
    .MatchCase = False 
    .MatchWholeWord = False 
    .MatchKashida = False 
    .MatchDiacritics = False 
    .MatchAlefHamza = False 
    .MatchControl = False 
    .MatchWildcards = False 
    .MatchSoundsLike = False 
    .MatchAllWordForms = False 
End With 
Selection.Find.Execute 
unitsDeleted = Selection.Delete(wdCharacter, 2) 
While (Selection.Style <> ActiveDocument.Styles("Heading 1")) And (unitsDeleted <> 0) 
    unitsDeleted = Selection.Delete 
Wend 

: 이미 편집에 명시된 바와 같이 나는 도달 다른 제목 또는 텍스트 종료까지, 아래의 모든 텍스트를 삭제하는 것입니다, 가장 사소한 간단한 방법을 생각한다 문서에서 "소개"문자열을 검색합니다. 그런 다음 현재 문자의 스타일이 "제목 1"(또는 지정한 다른 스타일)이 될 때까지 모든 문자를 삭제합니다. "소개"단어를 특정 스타일 (예 : "제목 1")으로 검색 할 수도 있습니다. 매크로를 기록하고 수행 방법을 확인하십시오.

+0

감사합니다. – haystack

+0

도움이된다면 나중에이 토론을 찾은 다른 사람들이 문제를 해결할 수 있도록 내 대답을 "수락"하십시오. – kosteg

관련 문제