vba를 사용하여 스타일 구분 기호 삽입 시 공백 삭제

vba를 사용하여 스타일 구분 기호 삽입 시 공백 삭제

안녕하세요 여러분, 제 영어로 인해 죄송합니다. 스타일 구분 기호를 추가하는 매크로가 있는데 단락 앞에 공백을 추가하는 것을 제외하고는 잘 작동합니다. 매크로가 추가되지 않도록 또는 추가된 경우 나중에 제거되도록 어떻게 수정합니까?

Sub SeparadordeEstilos()
 With Selection
            .InsertBefore vbCr
            .InsertStyleSeparator
            .Paragraphs(1).Range.Font.Reset
            .Paragraphs(1).Style = ("PLL Nivel 2 notdc")
End With
End Sub

편집됨:

Charles에게도 진심으로 감사드리며 모든 세부 사항을 설명하지 못한 점에 대해 사과드립니다. 개요 다단계 목록에는 번호가 같은 두 가지 유형의 단락이 필요합니다. 일부는 굵은 글꼴 스타일로 목차에 표시되고 다른 일부는 TOC에 표시되지 않는 일반 글꼴로 표시됩니다. 그래서 저는 두 가지 스타일을 만들었습니다.PLL 니벨 2TOC에 굵은 글씨로 표시되고PLL Nivel 2 notdc, 굵게 표시되지 않은 것은 질문에 설명하는 매크로를 실행할 때 스타일 구분 기호와 함께 자동으로 적용되는 목차에 표시되지 않습니다. 특히 지속적인 번호 매기기 요구 사항 때문에 이것이 제가 찾은 유일한 솔루션입니다.

공백을 제외하고는 모든 것이 잘 작동합니다. 이 공백은 문서에서 매우 좋지 않으며, 전문적인 느낌을 주지 않고, 오히려 엉성한 느낌을 줍니다.

따라서 대안이 필요하거나 공백을 제거할 수 있어야 합니다.

스크린샷

여기에는샘플 문서문제로. 연속넘버링은 모두 표시가 활성화된 상태로 봤기 때문에 잘 되는 줄 알았는데, 끄면(모두 표시) 역시 작동하지 않고 다른 넘버링이 설정됩니다.

편집 2

새 사진 표시

답변1

두 문단 사이에 공백 문자처럼 약간의 공간이 필요합니다!

귀하의 코드는 단락 끝, 단락 기호 앞에 실행될 때 다음을 추가합니다.스타일 구분 기호새로운 스타일의 공간을 갖춘 공간입니다.

.insertBefore vbCr다음에서 제안한 대로 줄이 생략된 경우레디, 단락 끝에서 실행되면 스타일 구분 기호와 공백을 추가하여 현재 단락 표시를 제거하고 다음 단락을 새 스타일로 가져와 두 개의 단락 스타일을 사용하는 단일 단락처럼 보이도록 합니다.

스타일을 적용하려면 공간이 필요할 수 있습니다. 두 번째 경우에는 첫 번째 문단의 텍스트를 두 번째 문단의 텍스트와 실제로 분리하는 것이 확실히 필요합니다.

정말로 그 공간을 없애고 싶나요?

수정된 매크로는 다음과 같습니다.

Sub InsertStyleSeparator()
' Use at end of paragraph just before paragraph mark.
    With Selection
        '            .InsertBefore vbCr
        .InsertStyleSeparator
        .Paragraphs(1).range.Font.Reset
        .Paragraphs(1).Style = ("PLL Nivel 2 notdc")
    End With
End Sub

내가 추가한 설명에 유의하십시오. 단락의 시작 부분이 아닌 끝 부분에 이 내용을 사용하십시오.

여기 당신의샘플 문서, 매크로와 함께.

스타일 구분 기호와 함께 사용하면 단락에 추가되는 부분에는 고유 번호가 없습니다. 시각적으로 스타일 구분 기호로 구분된 단락의 일부로 작동합니다.

답변2

vbCr새로운 라인입니다. 이 코드 줄은 .InsertBefore vbCr스타일 앞에 새 줄을 삽입합니다. 단락 앞에 공백이 생기지 않도록 하려면 이를 제거하세요.

관련 정보