Word 2010 문서에서 그래픽/텍스트 사이의 간격을 제거하는 매크로?

Word 2010 문서에서 그래픽/텍스트 사이의 간격을 제거하는 매크로?

저는 그래픽 항목만 있는 Word(버전 2010) 문서를 자주 만들고 때로는 그래픽 옆에 "New!"와 같은 일부 텍스트가 있는 문서를 만듭니다. (내가 갖고 싶은 것). 문서의 항목 다음에 나오는 일부 텍스트와 함께 이러한 모든 그래픽/그래픽 사이에서 (모든 유형의) 모든 공백을 제거하는 매크로를 만들고 싶습니다. 행을 클릭하면 다음 그래픽이 자동으로 다음 행에서 시작됩니다(그런 다음 간격 없이 그래픽을 하나씩 반복합니다). 현재 화살표, 삭제 및 백스페이스 키를 사용하여 이 작업을 수동으로 수행하고 있습니다. 시간이 많이 걸립니다. 매크로를 실행하기 전과 이후에 문서가 어떻게 보일지에 대한 "전/후"의 GIF 이미지를 업로드했습니다.

매크로 이전(스크린샷)매크로 이후(스크린샷)

부수적인 질문으로, 그래픽 사이에 특정 수의 공백만 추가하고 싶다면 이를 쉽게 가능하게 하기 위해 maco를 "조정"할 수 있는 방법이 있습니까? 그렇다면 이 작업을 수행하려면 매크로에 어떤 텍스트를 추가해야 합니까?

도와주셔서 정말 감사드립니다.

답변1

Word에 내장된 "찾기 및 바꾸기" 도구가 작업의 90%를 수행할 수 있습니다. "특수" 드롭다운 버튼이 있는 "자세히 >>" 옵션을 사용하면 페이지 나누기, 단락 표시, 공백 등을 검색할 수 있습니다.

"특수" 버튼을 사용하면 단락, 다양한 공백 문자, 줄 바꿈 등을 선택할 수 있습니다.

나머지 10%는 VBA 개발자 탭의 매크로 레코더를 사용하여 수행할 수 있습니다.

녹음을 시작하고 원하는 이미지가 나올 때까지 모든 줄 바꿈, 단락 표시 등을 바꾸는 작업을 진행합니다.

그런 다음 녹음을 중지합니다. 짜잔. 매크로 마법.

빠른 테스트를 통해 다음과 같은 방법을 통해 다양한 서식 유형을 대부분 지울 수 있습니다. "단락 표시"에 해당하며 찾기 및 바꾸기 도구는 이를 즉 아무것도 아닌 ^p것으로 바꿉니다 .""

Sub Macro1()
'
' Macro1 Macro
'
'
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "^p"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    With Selection.Find
        .Text = "^t"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "^b"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = "^m"
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
    With Selection.Find
        .Text = " "
        .Replacement.Text = ""
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
End Sub

각 이미지 사이에 공간을 원할 경우 .Replacement.Text = ""다음과 같은 공간을 포함하도록 각 부분의 를 변경하면 됩니다..Replacement.Text = " "

관련 정보