3

1 つ以上のキーワードを含む .doc または docx ドキュメント内のすべての段落を検索し、場合によっては強調表示したいと考えています。

すべての段落を単純に検索するこの正規表現 (ワイルドカードを使用した MS Word の検索を使用) から始めました。

([^13^l]){1}*(^13){1}

これは私のドキュメントではうまく機能します。つまり、段落から段落へと移動します。*次に、次のような1つの可能な検索用語に置き換えようとしました*sust*:

([^13^l]){1}*sust*(^13){1}

ただし、これは、を含む段落の終わりまでの多くの段落を強調表示します*sust*。最初の試行では、2 回目の試行で返された部分であっても、ドキュメントを段落ごとに単純に解析したため、これは非常に奇妙です。

また、1 つだけではなく、多くの段落を強調表示する方法も試し ([^13^l]){1}(*sust*)(^13){1}ました。([^13^l]){1} (*sust*) (^13){1}

ここで何が間違っていますか?

4

2 に答える 2

3

私は同じ解決策を探していましたが、私にとって何がうまくいったかを共有したいと思いました. Word ドキュメントの VBA 側を入力し (Alt + F11)、新しいモジュールを挿入し、このコードに貼り付け、引用符を見つけて任意のキーワードを入力し、実行矢印を押して、すべての段落が強調表示されるのを確認します。そのキーワードが含まれています。それが私を助けてくれたことにとても満足しています!それがあなたや他の人にも役立つことを願っています!

Sub Highlight_Paragraph()

'THIS CODE HIGHLIGHTS TO THE END OF THE PARAGRAPH WHERE THE TARGET WORD
'IS FOUND WITHIN THE DOCUMENT

    Dim oRng As Range
    Set oRng = ActiveDocument.Range
    With oRng.Find
        Do While .Execute(FindText:="Contractor Shall")
            oRng.Paragraphs(1).Range.HighlightColorIndex = wdYellow
            oRng.Collapse 0
        Loop
    End With
lbl_Exit:
    Set oRng = Nothing
    Exit Sub
End Sub
于 2016-09-09T02:37:36.897 に答える