Word 文書で文字列を検索し、それ以降の文字列をすべて削除したいと考えています。
Selection
オブジェクトを使用せずにこれを行う最良の方法は何ですか?
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