@menajemmendel
אז תעשה ככה
Do While Selection.Find.Execute
If Selection.Range.End < ActiveDocument.Range.End Then
Selection.MoveLeft Unit:=wdCharacter, Count:=1
'Selects a first word and applies a style to it
Selection.MoveEndUntil Cset:=" ", Count:=wdForward
Selection.Style = ActiveDocument.Styles(nombre_del_Nuevo_Estilo)
Selection.MoveDown Unit:=wdParagraph, Count:=1
Else
Exit Do
End If
Loop
אם קיימת אפשרות שהסגנון שאתה מחפש עשוי להופיע מספר פעמים בסוף המסמך, תוכל לשנות את הקוד כדי לבדוק אם סוף טווח הבחירה נמצא במרחק מסוים מסוף המסמך. לדוגמה, ניתן לבדוק אם סוף טווח הבחירה נמצא בטווח של 10 תווים מסוף המסמך. הנה דוגמה:
Do While Selection.Find.Execute
If ActiveDocument.Range.End - Selection.Range.End > 10 Then
Selection.MoveLeft Unit:=wdCharacter, Count:=1
'Selects a first word and applies a style to it
Selection.MoveEndUntil Cset:=" ", Count:=wdForward
Selection.Style = ActiveDocument.Styles(nombre_del_Nuevo_Estilo)
Selection.MoveDown Unit:=wdParagraph, Count:=1
Else
Exit Do
End If
Loop
בדוגמה זו, ההצהרה If בודקת אם ההבדל בין סוף המסמך לסוף טווח הבחירה גדול מ-10 תווים. אם כן, הלולאה ממשיכה. אם לא, הלולאה יוצאת. בדרך זו, הלולאה תצא אם היא תגיע לסוף המסמך או אם היא נתקעת בסוף המסמך עקב מופעים מרובים של הסגנון.