У меня есть несколько документов, где есть неправильные списки. Пример:
- - практическое занятие;
- - лабораторное занятие;
- - курсовая работа (проект); и т.п.
Причем первые дефисы - это элементы маркированного списка, а вторые это просты дефисы. Таких строк очень много! Как мне удалить макросом все вторые дефисы в таких списках?
Или подскажите как определить, какой самый первый символ в маркированном списке (кроме самого маркера).
[вложение удалено администратором]
Макрос
Sub Макрос()
Dim rng As Range
Dim i As Long
' Отключение монитора. Может это ускорит макрос.
Application.ScreenUpdating = False
' Движение по абзацам, в которых есть список.
For i = 1 To ActiveDocument.ListParagraphs.Count
' Присваиваем имя "rng" первому символу абзаца.
Set rng = ActiveDocument.ListParagraphs(i).Range.Characters(1).Duplicate
' Если первый символ - это дефис.
If rng.Text = "-" Then
' Включаем в рейндж правые пробелы и табуляцию, чтобы их тоже удалить.
rng.MoveEndWhile Cset:=" " & Chr(9)
' Удаление полученного фрагмента.
rng.Delete
End If
Next i
' Сообщение.
Application.ScreenUpdating = True
MsgBox "Готово.", vbInformation
End Sub
Большое спасибо! Очень помогли!