2017-11-07 1 views
0

"정리 정리"로 시작하는 단락을 빨간색으로 표시하고 싶습니다."정리 증명"로 시작하는 단락 찾기

Sub theorem() 
    Dim p As Paragraph, d As Document 
     For Each p In ActiveDocument 
     If p.Range.Words(1) = "Proof " And p.range.words(2) = "of " and p.Range.Words(3) = "theorem " Then 
       End If 
    End Sub 

나는이 방법 "If p.Range.Words(1) = "Proof " And p.range.words(2) = "of " and p.Range.Words(3) = "theorem "을"느낌 부피가 :

내 코드는 다음과 같습니다. 좀 더 간결한 방법이나 다른 팁이 있는지 묻고 싶습니다.

+1

을 (내가 Word 개체에 대해 거의 알고 모델이 존재할 수도 있고 없을 수도 있습니다.) If If Left (p.Range.Text, 16) = "증명의 증명"Then'. 좋아, 그냥 해봤 어. – YowE3K

+0

@ YowE3K 완벽 솔루션, thanks –

+1

또는 Instr (1, Trim (p.Range.Text), "정리 증명", vbTextCompare) = 1 Then'을 시도하십시오. 이 코드는 검색 문자열의 대문자와 무관하게 단락을 식별합니다. 누군가 실수로 그 앞에 공백을두기도합니다. – Variatus

답변

1

당신은 단지 단락의 처음 16 개 문자를 검색 할 Left 기능을 사용하고 테스트 할 수하십시오`Range.Text` 방법이있는 경우

Sub theorem() 
    Dim p As Paragraph, d As Document 
    For Each p In ActiveDocument.Paragraphs 
     If Left(p.Range.Text, 16) = "Proof of theorem" Then 
      p.Range.Font.ColorIndex = wdRed 
     End If 
    Next 
End Sub