をループセクション5からスタート。
1)セクション5から始めようとしていないので、明らかにこれをしません。しかし、これをテストしていても、セクションを削除してフォワードをループしているため、コードが壊れてしまいます。文字列 "example"が含まれている場合は、セクションを逆に確認して削除する必要があります。
2)文字列を検索しようとしてもうまくいかないでしょう。あなたがコードを実行しようとしていて、それを実行している間にエラーが発生し、エラーが発生した行が書かれていれば、それはうれしいことでした。つまり、これは意味をなさない。必要に応じてfindメソッドのドキュメントをチェックできますが、以下に示すようにInStr関数がうまく機能します。
3) "Sect In ActiveDocument.Sections"の構文を使用すると、 "Sect"変数が既にセクションにBECOMESされています。 ActiveDocument.Sect ....は動作しません。その時点で宗派を使うだけです。私はループの別の方法を使用しましたが、アイデアは変わりません。
4)すでに文字列内の "example"というテキストを検索している場合、 "example.com"というテキストを検索するのは意味がありません。ただ1つの検索を行います。
<rant>
私が示唆されるように、正確なエラーおよびエラーを生成したコードの正確な行を文書化してみてください。あなたが "試した"コードを提供している間、あなたはあまり多くの努力を示していません。問題が発生したときは、a)実際にコードを実行してエラーを見つけること、b)使用しようとしているメソッド/プロパティを調べることで明白な構文上の問題があるかどうかを確認する、c)変数を調べるdebug.printまたは地元の窓を使って彼らがあなたが思うものが含まれているかどうかを確認してください<\rant>
。
以下の作業コード。
サブテスト()
Dim mysects As Sections
Dim mysect As Section
Set mysects = ActiveDocument.Sections
For x = mysects.Last.Index To 5 Step -1
Set mysect = mysects.Item(x)
If InStr(1, mysect.Range.Text, "example", vbTextCompare) _
Or InStr(1, mysect.Range.Text, "nextText", vbTextCompare) Then
mysect.Range.Delete
End If
Next x
End Sub
それはほとんど労力を示し、任意のコードを提供しないので、これはおそらくdownvoteを得ています。試したコードとそれに付随している特定の問題を提供する必要があります。これはコードのアウトソーシングサイトではありません。 – OpiesDad
更新されたコード – AK0101