Тема: Способ ручного удаления лишних абзацев в тексте
Часто возникает необходимость в быстром удалении вручную лишних абзацев в тексте.
Предлагаем один из способов выполнения данной задачи, который представляется нам довольно удачным.
Ниже приведены два несложных макроса - DelEnter и NextEnter. Первый из них удаляет выделенный знак абзаца и переходит к следующему знаку абзаца. Второй макрос выполняет поиск следующего знака абзаца без удаления.
Внимание! Данные макросы действуют только для стандартных знаков абзаца (^p) (в то время, как абзацы могут быть отмечены и другими типами знаков - например, "разрыв строки" (^l) и др.)
Для удобства я назначил макросам находящиеся рядом комбинации клавиш: Ctrl+Shift+< для первого макроса и Ctrl+Shift+> для второго макроса.
Sub DelEnter()
'удаление выделенного знака абзаца (в случае, если имеется такое выделение)
If Selection.Range.Text <> "" Then
Selection.Delete Unit:=wdCharacter, Count:=1
Selection.TypeText Text:=" "
End If
'поиск следующего знака абзаца
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "^p"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
End With
Selection.Find.Execute
End Sub
Sub NextEnter()
'поиск следующего знака абзаца
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = "^p"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
End With
Selection.Find.Execute
End Sub
Далее нажимаем комбинации клавиш Ctrl+Shift+> (вызывая макрос NextEnter) и смотрим, нужно ли удалять выделенный знак абзаца.
Если нужно, то нажимаем Ctrl+Shift+< (макрос DelEnter), если же не нужно, то повторяем нажатие комбинации клавиш Ctrl+Shift+> (макрос NextEnter).
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.