2016-12-13 1 views
0

내 단어 문서를 검색하여 가운데 맞춤 된 텍스트를 찾고이 서식을이 매크로에 적용하는 매크로를 만들려고합니다. Word에서 가운데 ​​맞춤 텍스트를 검색하고 서식을 지정합니다. - Macro/VBA

With Selection 
.Paragraphs.Alignment = wdAlignParagraphCenter 
.Font.Bold = wdToggle 
.Font.AllCaps = True 
End With 

나는
Selection.Find.Style = wdAlignParagraphCenter 

을 시도하지만 난 그게 그렇게 쉬운 일이 아니다 가정합니다.

나는 다음이 탄,

Dim p As Paragraph 

For Each p In ActiveDocument.Paragraphs 
    If p.Alignment = wdAlignParagraphCenter Then 
     With Selection 
      .Font.Bold = wdToggle 
      .Font.AllCaps = True 
     End With 

    End If 
Next p 

그러나 불행하게도 행운했다.

+0

실제 코드를 표시해야합니다. 예를 들어,'Selection'의 정의는 무엇입니까? –

+0

잘하면이 도움이 내 게시물을 업데이 트 되었습니까? 더 많은 정보가 필요하면 알려주세요. 감사. – Bp944

+0

코드가 제대로 작동했습니다. 코드를 어떻게 실행합니까? 함수 또는 하위? 단계별 실행을 시도해 보셨습니까? –

답변

0

이 시도 :

Sub Bold_All_Caps() 
    Dim p As Paragraph 

    For Each p In ActiveDocument.Paragraphs 
     If p.Alignment = wdAlignParagraphCenter Then 
      With p 
       .Range.Font.Bold = True 
       .Range.Font.AllCaps = True 
      End With 

     End If 
    Next p 
End Sub 

문제가 있었다, 당신은합니다 (With 일부에게)만을 선택하여 변경 사항을 적용있다. 단락으로 변경하면 작동합니다.

항상 굵은 글꼴을 적용하는 대신 굵은 글꼴을 변경하려면 .Range.Font.Bold = True.Range.Font.Bold = wdToggle으로 변경하십시오. wdToggle은 굵은 텍스트를 굵게 표시하지 않으며 반대의 경우도 마찬가지입니다.

+0

굉장! 그건 그렇습니다. p.range는 중앙 정렬 된 전체 단락을 선택합니까? – Bp944

+0

코드는 기본적으로 각 단락 ('For Each ...')을 통과하여 단락이 가운데 정렬 ('If p.Alignment ...')되어 있는지 확인하고이 단락 서식을 굵게 및 allcaps로 설정합니다. 그러나 스타일 탭 아래의 기능을 확인해야합니다. 비슷한 형식의 텍스트를 모두 선택하라는 옵션이 있습니다. –

+0

그건 의미가 있습니다. 나는이 함수를 사용 하겠지만 문서 형식/레이아웃에 대해 여러 가지 다른 작업을 수행하는 매크로를 만들려고합니다. 다음으로 목록에서 글 머리표 또는 목록을 특정 목록 유형으로 변경합니다. - 약간의 주제는 아니지만이 목록의 이름을 어디에서 얻을 수 있는지를 알지 못합니다. 글 머리 기호는 wdListBullet입니다. 감사합니다.] - 편집 : Nvm이 (가) 여기에서 찾았습니다 : http://www.thedoctools.com/index.php?show=mt_create_style_name_list :) – Bp944