2017-11-03 1 views
1

사진에서 볼 수 있듯이이 단락을 빨간색으로 찾고 싶지만 녹색으로 표시된 단락은 찾지 못합니다.
다음 코드를 시도했습니다. 그러나 실행에 대한 응답이 없으면 누군가이 코드를 개선하는 방법을 알려줄 수 있습니다. 낮은 수준의 실수를 저 지르면 희망을 바로 잡을 수 있습니다. 감사합니다.특정 단락 찾기

Sub qw() 
Dim p As Paragraph, d As Document 
For Each p In ActiveDocument.Range.Paragraphs 
If p.Format.FirstLineIndent = CentimetersToPoints(0) And p.Range.Words(1) = "Author" Then 
p.Range.HighlightColorIndex = wdRed 
End If 
Next 

End Sub 

enter image description here

답변

1

은 다음과 같이 그것을 시도 :

If p.Format.FirstLineIndent = CentimetersToPoints(0) And p.Range.Words(1) = "Author " Then 
    p.Range.HighlightColorIndex = wdRed 
End If 

당신은 그것뿐만 아니라 단어의 일부까지로, Author 후 공간을 추가해야합니다. F8으로 디버깅하는 방법을 배우십시오.이 같은 간단한 작업에서 유용 할 것입니다.

편집 : 의견에서 제안했듯이 InStr(p.Range.Words(1), "Author")은 검색 결과에 공백을 추가 할 필요가 없습니다.

+0

나는 instr (p.Range.Words (1), "Author")을 제안합니다. 저자가 하드 스페이스 나 그와 비슷한 것을 따르더라도 작동합니다. – MarcinSzaleniec

+0

@MarcinSzaleniec - 소리가 잘 들립니다. 'Left() '를 사용하려고 생각했지만 Word 용 VBA에는 존재하지 않는다는 것을 알았습니다. – Vityata

+1

@MarcinSzaleniec 의견을 내 주셔서 감사합니다! –