1 / 1 / 0
Регистрация: 08.03.2013
Сообщений: 114
|
|||||||||||
1 | |||||||||||
Microsoft.Office.Interop.Word поиск текста13.08.2019, 13:53. Показов 7432. Ответов 9
Метки нет Все метки)
(
Здравствуйте.
Есть документ Word. В нем есть текст: Код
Категория возрастная: дети Пол: любой Фаза: острая Стадия: легкая степень тяжести Код
Пол: Как я понимаю, можно воспользоваться вот таким классом для поиска вхождения искомого текста
В моем примере это одно слово до конца абзаца, но по тексту видно, что в других частях документа, искомый текст может быть и одним словом, и выражением. У всех есть один общий признак - конец текста это конец абзаца с вхождением искомого текста. Прошу совета как лучше сделать поиск текста. На данный момент я склоняюсь к поиску искомого текста, далее вычисление конечного индекса и далее выборка текста от конечного индекса +1 символ и до конца параграфа. Но мне это кажется не оптимальным решением. Добавлено через 4 часа 6 минут Сделал вот такой парсер.
Можно искать сразу во всем документе и найти индекс начала вхождения. Но как после этого выбрать текст только до конца абзаца - пока так и не понял.
0
|
|
13.08.2019, 13:53 | |
Ответы с готовыми решениями:
9
Microsoft.Office.Interop.Word поиск и возвращение значений Альтернатива Microsoft.Office.Interop.Word
Как установить компонент microsoft.office.interop.word? |
88 / 62 / 18
Регистрация: 09.12.2015
Сообщений: 174
|
|
13.08.2019, 16:54 | 2 |
0
|
1 / 1 / 0
Регистрация: 08.03.2013
Сообщений: 114
|
|
14.08.2019, 10:11 [ТС] | 3 |
Это первое, что я прочитал. Всегда начинаю с офдокументации, там большинство ответов на вопросы.
К сожалению, именно этот метод мне не подошел. Либо я не понял принцип работы. Но тут пример который подходит для замены текста, а не его поиска и извлечения данных после искомого текста. Т.к. он дает информацию есть текст или нет, но не дает ни индекса параграфа, ни индекса текста. Т.е. абсолютно не информативен для дальнейшей работы с текстом. Но всё равно спасибо большое за ответ.
0
|
88 / 62 / 18
Регистрация: 09.12.2015
Сообщений: 174
|
|
14.08.2019, 11:00 | 4 |
Найденный текс выделяется и вы можете его забрать себе в переменную, если я правильно понял, что вам нужно.
0
|
1 / 1 / 0
Регистрация: 08.03.2013
Сообщений: 114
|
|
14.08.2019, 16:34 [ТС] | 5 |
А мне как раз нужно забирать не найденный текст, а текс который идет после найденного текста и до перевода строки (конца абзаца).
Да, я пытался видоизменять этот пример и приспособить его, но ничего, что работало бы без ошибок, сделать так и не смог.
0
|
88 / 62 / 18
Регистрация: 09.12.2015
Сообщений: 174
|
|
14.08.2019, 18:23 | 6 |
Что-то типа
string text = doc.Range(app.Selection.End, doc.Paragraph.End).Text; Не помню как конец абзаца будет. Давно писал.
0
|
0 / 0 / 1
Регистрация: 02.03.2020
Сообщений: 15
|
|
28.02.2021, 14:49 | 7 |
BlackEric, помогите. такая же проблема, только мне нужен текст с найденного элемента, до другого найденного элемента
0
|
88 / 62 / 18
Регистрация: 09.12.2015
Сообщений: 174
|
||||||
28.02.2021, 19:55 | 9 | |||||
Вам нужно использовать два Range объекта для поиска. Nак что один из диапазонов может быть расширен за счет включения другого.
1
|
0 / 0 / 1
Регистрация: 02.03.2020
Сообщений: 15
|
|
03.03.2021, 23:14 | 10 |
Добавлено через 2 минуты
Спасибо, я почти все понял, кроме этого: помогите пожалуйста, как вставить выделенный текст между start и end в другой файл в место текста {q1}
0
|
03.03.2021, 23:14 | |
Помогаю со студенческими работами здесь
10
В visual studio не видно Microsoft.Office.Interop.Word Невозможно привести COM-объект типа Microsoft.Office.Interop.Word Найти и заменить слова в документе (doc) без Microsoft.Office.Interop.Word Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |