Попутал: налево или направо
При условии, что в абзаце только один знак дефиса, код работает. Проверка позиции знака дефиса необходима для исключения установки знака перевода строки с предыдущего абзаца. В случае если в абзаце находятся более двух знаков абзаца, будет найдена позиция первого вхождения.
Sub TestDash()
Dim SerchText As Range
Dim PrgTxt As String
Dim Str As String
Dim Prg As Paragraph
Str = "-"
Set SerchText = ActiveDocument.Range
SerchText.Find.ClearFormatting
With SerchText.Find
.Text = Str
.Forward = True
.Wrap = wdFindStop ' wdFindContinue
.MatchWildcards = False
End With
SerchText.Find.Execute
While SerchText.Find.Found = True
SerchText.Select
Set Prg = Selection.Paragraphs(1)
PrgTxt = Prg.Range.Text
If 5 < InStr(1, PrgTxt, Str) Then
Selection.MoveLeft Unit:=wdCharacter, Count:=5
Selection.TypeParagraph
End If
SerchText.Find.Execute
Wend
End Sub
"Ты не умничай, ты пальцем покажи"
"Кто поработал с многоуровневым списком в Ворде, тот в цирке не смеется"