Форум по VBA, Excel и Word

Word => Макросы в Word => Тема начата: Game от 11 сентября 2019, 14:14

Название: Word VBA Макросы: Поиск значения с отступом на 1 позицию вниз с занесением всей активной строки в переменную.
Отправлено: Game от 11 сентября 2019, 14:14
Необходимо найти текст и отступить вниз на 1 позицию и там где окажется курсор весь абзац поместить в переменную.

Пример:
Сегодня хорошая погода.
Я иду по проспекту.

Ищем слово "хорошая", опускаемся вниз на 1 строку и заносим "Я иду по проспекту." в переменную.
Название: Re: Word VBA Макросы: Поиск значения с отступом на 1 позицию вниз с занесением всей активной строки в переменную.
Отправлено: Администратор от 11 сентября 2019, 14:30
Если слово "хорошая" будет в абзаце, в котором две строки и слово "хорошая" находится в первой строке, то нужно извлечь текущий абзац или нужно извлечь следующий абзац?
Название: Re: Word VBA Макросы: Поиск значения с отступом на 1 позицию вниз с занесением всей активной строки в переменную.
Отправлено: Game от 11 сентября 2019, 14:34
следующий абзац
Название: Re: Word VBA Макросы: Поиск значения с отступом на 1 позицию вниз с занесением всей активной строки в переменную.
Отправлено: Администратор от 11 сентября 2019, 14:39
Sub Макрос()

    Dim var

    With ActiveDocument.Range.Find
        .Text = "хорошая"
        If .Execute = True Then
            var = .Parent.Paragraphs(1).Next.Range.Text
            ' Убираем концевой символ "конец абзаца".
            var = Left(var, Len(var) - 1)
        End If
    End With
   
End Sub
Название: Re: Word VBA Макросы: Поиск значения с отступом на 1 позицию вниз с занесением всей активной строки в переменную.
Отправлено: Game от 11 сентября 2019, 14:52
Спасибо, всё работает.