Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/18: Рейтинг темы: голосов - 18, средняя оценка - 4.56
4 / 4 / 2
Регистрация: 07.05.2014
Сообщений: 489
1

Word - взять весь текст который между словами

30.10.2017, 11:38. Показов 3263. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет всем, у меня есть текст, в нем есть слова "Начало" и "Конец", мне необходимо взять весь текст который между ними. Можете показать пример

Добавлено через 3 часа 26 минут
Вот нашел код, а как его присвоить какой нибудь переменной и записать в текстовый файл
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Sub Макрос1()
Dim r
Set r = ActiveDocument.Range
With r.Find
    .ClearFormatting
    .Text = "Олег*Иван"
    .Forward = True
    .Wrap = wdFindContinue
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchAllWordForms = False
    .MatchSoundsLike = False
    .MatchWildcards = True
    If .Execute Then
        ActiveDocument.Range(r.Start + 4, r.End - 4).Select
        Selection.Copy
    Else
        MsgBox "Текст не найден!", vbExclamation
    End If
End With
End Sub
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.10.2017, 11:38
Ответы с готовыми решениями:

Получить весь текст HTML-страницы, который находится между тегами, кроме заголовка
Здравствуйте, возникла задача отпарсить html. Конкретно, взять весь текст, который находится между...

Вывести весь текст словами в виде количественного числительного
Задано некоторое натуральное число k. Требуется вывести весь текст словами в виде количественного...

Вывести весь текст словами в виде количественного числительного
Задано некоторое натуральное число k. Требуется вывести весь текст словами (например, при k=5 вывод...

Задано некоторое натуральное число, требуется вывести весь текст словами
В задаче предполагается, что все данные хранятся в некотором текстовом файле. Результат следует...

11
15151 / 6424 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
30.10.2017, 20:06 2
Rodmistar,
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Sub Макрос1()
Dim r, s
  Set r = ActiveDocument.Range
  With r.Find
    .ClearFormatting
    .Text = "Олег*Иван"
    .Forward = True
    .Wrap = wdFindContinue
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchAllWordForms = False
    .MatchSoundsLike = False
    .MatchWildcards = True
    If .Execute Then
      s = ActiveDocument.Range(r.Start + 4, r.End - 4).Text    'присвоение переменной
      Open ActiveDocument.Path & "\найденое.txt" For Output As #1
      Print #1, s
      Close 1
    Else
      MsgBox "Текст не найден!", vbExclamation
    End If
  End With
End Sub
0
4 / 4 / 2
Регистрация: 07.05.2014
Сообщений: 489
04.11.2017, 10:52  [ТС] 3
Привет, я нашел этот текст, он записал в текстовый файл, но сейчас надо сделать чтобы был параграф, и перед этим параграфом точка тоже была убрана.
Пример:
Как уже было сказано выше, художественный стиль наиболее часто используется в художественной литературе: романах, новеллах, рассказах, повестях и прочих литературных жанрах. Этому стилю не присущи оценочные суждения, сухость и официальность, которые свойственны научному и официально-деловому стилям. Вместо этого для него характеры повествование и передача мельчайших деталей, чтобы сформировать в воображении читателя филигранную форму передаваемой мысли.
В контексте копирайтинга художественный стиль нашел новое воплощение в гипнотических текстах, которым на этом блоге посвящен целый раздел «Гипнотический копирайтинг». Именно элементы художественного стиля позволяют текстам воздействовать на лимбическую систему головного мозга читателя и запускать необходимые автору механизмы, благодаря которым достигается порой весьма любопытный эффект. Например, читатель не может оторваться от романа или у него возникает сексуальное влечение, а также другие реакции, о которых мы еще будем вести речь в последующих статьях.
Стало:
Как уже было сказано выше, художественный стиль наиболее часто используется в художественной литературе: романах, новеллах, рассказах, повестях и прочих литературных жанрах. Этому стилю не присущи оценочные суждения, сухость и официальность, которые свойственны научному и официально-деловому стилям. Вместо этого для него характеры повествование и передача мельчайших деталей, чтобы сформировать в воображении читателя филигранную форму передаваемой мысли в контексте копирайтинга художественный стиль нашел новое воплощение в гипнотических текстах, которым на этом блоге посвящен целый раздел «Гипнотический копирайтинг». Именно элементы художественного стиля позволяют текстам воздействовать на лимбическую систему головного мозга читателя и запускать необходимые автору механизмы, благодаря которым достигается порой весьма любопытный эффект. Например, читатель не может оторваться от романа или у него возникает сексуальное влечение, а также другие реакции, о которых мы еще будем вести речь в последующих статьях.
0
15151 / 6424 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
04.11.2017, 17:19 4
Цитата Сообщение от Rodmistar Посмотреть сообщение
надо сделать чтобы был параграф, и перед этим параграфом точка тоже была убрана
Объясните более понятно, что надо сделать - заменить точку+параграф на пробел перед записью в файл?
0
4 / 4 / 2
Регистрация: 07.05.2014
Сообщений: 489
04.11.2017, 17:22  [ТС] 5
Казанский, надо после параграфа убрать точку и следующий параграф (то есть, следующий параграф и предыдущий сделать одним параграфом), убрав точку и заглавную букву сделать маленькой
0
4 / 4 / 2
Регистрация: 07.05.2014
Сообщений: 489
04.11.2017, 17:26  [ТС] 6
Вот пример
Вложения
Тип файла: docx Документ Microsoft Word.docx (12.2 Кб, 7 просмотров)
0
15151 / 6424 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
04.11.2017, 19:07 7
Rodmistar, этот вопрос как-то связан с исходным (найти фрагмент между заданными словами и записать его в файл), или это отдельный вопрос?
0
4 / 4 / 2
Регистрация: 07.05.2014
Сообщений: 489
04.11.2017, 19:09  [ТС] 8
Связанно с исходным...где можно еще почитать документацию нормальную с примерами
0
15151 / 6424 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
04.11.2017, 19:35 9
Rodmistar, работает с выделенным диапазоном
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub Макрос1()
Dim r As Range, st&
  Set r = Selection.Range
  st = r.Start
  With r.Find
    .ClearFormatting
    .Text = ".^13?"
    .Forward = False
    .Wrap = wdFindStop
    .MatchWildcards = True
    While .Execute And r.Start >= st
      r.Text = " " & LCase$(Right$(r.Text, 1))
      r.Collapse wdCollapseStart
    Wend
  End With
End Sub
0
4 / 4 / 2
Регистрация: 07.05.2014
Сообщений: 489
04.11.2017, 19:41  [ТС] 10
Казанский, спасибо, а есть возможность сделать без выделения?
0
15151 / 6424 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
04.11.2017, 19:45 11
Rodmistar, есть... вернее, будет, когда вы внятно сформулируете задачу.
0
4 / 4 / 2
Регистрация: 07.05.2014
Сообщений: 489
05.11.2017, 08:43  [ТС] 12
Вот как вы сделали, это правильно, задача в следующем: я нахожу между двумя словами текст, который мне необходим, между этими словами может быть от 2 до 5 абзацев (параграфов), вот и нужно соединить их в один, убрав после каждого параграфа точки, и заглавные буквы сделать маленькими.

Добавлено через 12 часов 25 минут
Казанский, надо теперь эти два кода соединить в один.

Добавлено через 28 минут
Но теперь не записывает
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Sub Макрос1()
Dim r, s
  Set r = ActiveDocument.Range
  With r.Find
    .ClearFormatting
    .Text = "Олег*Иван"
    .Forward = True
    .Wrap = wdFindContinue
    .Format = False
    .MatchCase = False
    .MatchWholeWord = False
    .MatchAllWordForms = False
    .MatchSoundsLike = False
    .MatchWildcards = True
    If .Execute Then
      s = ActiveDocument.Range(r.Start + 3, r.End - 8).Text 
      .Text = ".^13?" 
      While .Execute And r.Start >= st
           r.Text = " " & LCase$(Right$(r.Text, 1))
           r.Collapse wdCollapseStart
           Open ActiveDocument.Path & "1.txt" For Output As #1
           Print #1, r.text
           Close 1
      Wend
    Else
      MsgBox "Текст не найден!", vbExclamation
    End If
  End With
End Sub
0
05.11.2017, 08:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.11.2017, 08:43
Помогаю со студенческими работами здесь

Ввести текст.Отредактировать текст,удаляя из него лишние пробеоы,оставляя только по одному пробелу между словами
Ввести текст.Отредактировать текст,удаляя из него лишние пробеоы,оставляя только по одному пробелу...

Текст между словами
Здравствуйте! Есть вот такой код: procedure TForm1.Button2Click(Sender: TObject); begin...

Удалить весь текст от метки (Word)
как удалить программно текст лежащий ниже определенной слова-метки. или от метки до метки и т.д.?

Удалить пробелы, стоящие между первым вторым словами, а также между двумя последними словами
Удалить пробелы, стоящие между первым вторым словами, а также между двумя последними словами, на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru