2017-11-03 8 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")を提案します。 Authorにハードスペースなどが続く場合でも機能します。 – MarcinSzaleniec

+0

@MarcinSzaleniec - おそらく良い音。私は 'Left()'を使うことを考えていましたが、Word用のVBAには存在しないことが分かりました。 – Vityata

+1

@MarcinSzaleniecあなたの提案をありがとう!私はもっと試してみます。 –

関連する問題