次のコードでは、なります:パターンが (c)が削除見つかった場合 (a)のドキュメントスルースピンが (b)の決定パターンが見つかった場合は2番目と3番目の単語。
Sub Delete_Words()
Dim oPara As Word.Paragraph
On Error GoTo Error_Trap
For Each oPara In ActiveDocument.Paragraphs
If oPara.Range.Words.Count > 3 Then
' You can check for specific values of word 2 and 4
' Then could delete whatever is between
'Debug.Print oPara.Range.Words(2).Text & " <> " & oPara.Range.Words(4).Text
If Trim(oPara.Range.Words(2).Text) = "|" And Trim(oPara.Range.Words(4).Text) = "|" Then
' NOTE!! Must delete word 3 before word 2, else incorrect results!
oPara.Range.Words(3).Delete
oPara.Range.Words(2).Delete
End If
Else
' Not enough words
End If
Next
Exit Sub
Error_Trap:
Debug.Print "Error: "^Err.Number & vbTab & Err.Description
MsgBox "Error: "^Err.Number & vbTab & Err.Description
End Sub
「不要なテキスト」が実際に何であるかを正確に定義するか、検索方法の規則を説明する必要があります。それは "|"で区切られていますか?もしそうなら、いつも正しいデリミタになるでしょうか? –
Wordの "Replace All"と同等の処理を実行しようとしていますか? "Find what:"は指定したとおりで、 "Replace with:"は空の文字列ですか?これは、「各段落の最初と2番目のインスタンスの間の削除」の質問タイトルに適合していないようです。 – YowE3K
テキストのループ:2番目と4番目の単語が "|" 2番目と3番目の単語を削除します。 – Amjad