Удалелние знака параграфа - VBA

Узнай цену своей работы

Формулировка задачи:

Есть текстовый файл (см. приложение), при загрузке которого в Word после каждой строчки появляется знак конца параграфа, каждый абзац разделяется пустой строкой. Нужно сформировать параграфы, для этого нужно удалить знаки конца параграфа. Ну для упрощения я сначала хочу удалить вообще все знаки параграфов как мне это сделать? вот такой код не работает

Решение задачи: «Удалелние знака параграфа»

textual
Листинг программы
Sub Procedure_1()
 
    Dim myText As String
    
    '1. Удаляем часть ненужных данных VBA-средствами.
    '1.1. Берём вообще весь текст из документа в переменную "myText".
    myText = ActiveDocument.Range.Text
    
    '1.2. Удаляем из текста символ "Подача строки".
    'В программе "Word" символ "Подача строки" не ставится,
        'если нажимать клавишу "Enter", но если вставлять данные
        'из других документов и в этих документах есть такой символ,
        'то этот символ находится в Word-документе и пользователь ничего
        'не знает о его существовании.
    myText = Replace(myText, Chr(10), "")
    
    '1.3. Вставляем обработанный текст обратно в документ.
    ActiveDocument.Range.Text = myText
    
    '2. Остальное удаляем VBA-Word-средствами.
    '2.1. Удаляем знак абзаца, если перед знаком абзаца есть
        'любой символ, кроме знака абзаца и вставляем пробел.
    With ActiveDocument.Range.Find
        .Text = "(^13)([!^13])"
        .Replacement.Text = " \2"
        .MatchWildcards = True
        .Execute Replace:=wdReplaceAll
    End With
 
    '2.2. Удаляем пробел после символа "Конец абзаца".
    With ActiveDocument.Range.Find
        .Text = "(^13)( )"
        .Replacement.Text = "\1"
        .MatchWildcards = True
        .Execute Replace:=wdReplaceAll
    End With
 
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.077 из 5
Похожие ответы