3

Word 文書で文字列を検索し、それ以降の文字列をすべて削除したいと考えています。

Selectionオブジェクトを使用せずにこれを行う最良の方法は何ですか?

4

1 に答える 1

11

Range代わりにオブジェクトを使用してください。Word 2003 のヘルプからそのまま:

Range オブジェクトから Find オブジェクトに到達した場合、検索条件に一致するテキストが見つかったときに選択は変更されませんが、Range オブジェクトは再定義されます。次の使用例は、作業中の文書で最初に出現する単語 "blue" を検索します。ドキュメント内に「blue」が見つかった場合、myRange が再定義されます

Set myRange = ActiveDocument.Content
myRange.Find.Execute FindText:="blue", _
    Forward:=True
If myRange.Find.Found = True Then 

SetRange次に、そのオブジェクトのメソッドを使用してRange、範囲の開始を検索した文字列の末尾の次の文字にし、範囲の末尾をドキュメントの末尾にします。

myRange.SetRange (myRange.End + 1), ActiveDocument.Content.End

(TODO: 文字列がドキュメントの最後にある場合に対処する必要があります)

コンテンツを削除するには:

myRange.Delete
于 2009-01-31T02:39:46.123 に答える