MS Word: удалить абзац по условию - VBA
Формулировка задачи:
Здравствуйте!
Помогите с созданием макроса. Есть файл MS Word, в котором содержится несколько тысяч пунктов (по сути отдельных абзацев). Нужен макрос, который будет удалять абзацы, содержащие определённое слово или словосочетание.
Решение задачи: «MS Word: удалить абзац по условию»
textual
Листинг программы
Sub GetOutParagraphsWithUserDefindContent_131222_1411() dim UDC as string udc=selection.range.text 'текст, наличие которого грохает абзац Dim i As Long 'счётчик абзацев With ActiveDocument 'работаем в активном документе Word i = .Paragraphs.Count '''''''''''''''''''''''''''''''''''''''''это незаконно'''''''' '.Range.Find.Execute Chr(11), replacewith:=Chr(13), Replace:=wdReplaceAll 'заменили разрывы строк (код 11) символами абзацев (код 13) ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 'Переберём все абзацы и удалим те, в которых есть данный текст Do While i > 0 If LCase(.Paragraphs(i).Range.Text) Like "*" & LCase(UDC) & "*" Then Debug.Print i, .Paragraphs(i).Range.Text .Paragraphs(i).Range.Delete 'удалили весь абзац, где был текст константы UDC 'ненужный абзац удалён End If i = i - 1 Loop End With End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д