|
VBA Word. Как выделить (раздел) списка с найденным словом
|
|||
---|---|---|---|
#18+
Всем доброго времени суток! По команде Find ищу искомое слово в документе. Документ состоит из списка с разными уровнями. Как на VBA проще всего выделить раздел первого уровня, где найдена строка. Даже если строка найдена на втором, третьем и так далее уровнях. То есть в документе Содержимое1 уровня1 --------Содержимое1 уровня2 --------------Содержимое1 уровня3 Содержимое2 уровня1 --------Содержимое2 уровня2 если строка найдена в Содержимом1 независимо от уровня, то выделяем (в selection) Содержимое1 уровня1 --------Содержимое1 уровня2 --------------Содержимое1 уровня3 Спасибо за любые комментарии ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2015, 01:40 |
|
VBA Word. Как выделить (раздел) списка с найденным словом
|
|||
---|---|---|---|
#18+
выделить нужный диапазон так: Код: vbnet 1.
требуемые позиции брать из свойств End/Start найденного диапазона ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2015, 10:40 |
|
VBA Word. Как выделить (раздел) списка с найденным словом
|
|||
---|---|---|---|
#18+
mtvllВсем доброго времени суток! Если строка найдена в Содержимом1 независимо от уровня, то выделяем (в selection) Содержимое1 уровня1 --------Содержимое1 уровня2 --------------Содержимое1 уровня3 Спасибо за любые комментарии Поэкспериментируйте с предопределенной закладкой \HeadingLevel Если найденная строка находится внутри Содержимое1 уровня1, то следующий код выделит содержимое всех последующих уровней Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2015, 11:45 |
|
VBA Word. Как выделить (раздел) списка с найденным словом
|
|||
---|---|---|---|
#18+
\HeadingLevel работает только с текущим уровнем, на предыдущий выходить отказывается. Однако, с помощью этой закладки можно выделить весь уровень, после того, как найден "Заголовок1" (гораздо проще, чем предложенный мной выше вариант) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2015, 13:29 |
|
VBA Word. Как выделить (раздел) списка с найденным словом
|
|||
---|---|---|---|
#18+
Такой код позволяет выделить абзац с текстом заголовка соответствующего уровня, в котором стоит курсор (кроме \HeadingLevel используется предопределенная закладка \Para) Код: vbnet 1. 2.
После этого можно определить уровень заголовка, и если это не Заголовок 1, то поднять курсор на одну строку вверх и далее в цикле добраться до Заголовка 1. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2015, 14:10 |
|
VBA Word. Как выделить (раздел) списка с найденным словом
|
|||
---|---|---|---|
#18+
Борис_Р, ну, на мой взгляд, поиском вверх найти абзац нужного стиля будет быстрее ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2015, 14:32 |
|
VBA Word. Как выделить (раздел) списка с найденным словом
|
|||
---|---|---|---|
#18+
Shocker.ProБорис_Р, ну, на мой взгляд, поиском вверх найти абзац нужного стиля будет быстрее Shocker.Pro , вы правы, когда отправил сообщение, сразу подумал о поиске нужного стиля, но не успел опередить. Вот что записал макрорекодер: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2015, 15:08 |
|
VBA Word. Как выделить (раздел) списка с найденным словом
|
|||
---|---|---|---|
#18+
Борис_Р Код: vbnet 1.
немало попыток было сделано ... |
|||
:
Нравится:
Не нравится:
|
|||
05.05.2015, 15:12 |
|
VBA Word. Как выделить (раздел) списка с найденным словом
|
|||
---|---|---|---|
#18+
есть слова dead dɛd deaf dɛf head hɛd мне нужно во всех словах выделить, ну допустим, "ea" именно ТОЛЬКО ВЫДЕЛИТЬ и не изменять так как если бы я это делала, выделив "ea" непосредственно в первом слове, и далее с помощью ПРАВКА-НАЙТИ-(вкладка)НАЙТИ-(установив галочку)ВЫДЕЛИТЬ ВСЕ ЭЛЕМЕНТЫ,НАЙДЕННЫЕ В : выпадающий список) ОСНОВНОЙ ДОКУМЕНТ и нажав кнопочку НАЙТИ ВСЕ КОГДА Я ДЕЛАЮ ЗАПИСЬ МАКРОСА ТО У МЕНЯ ПОЛУЧАЕТСЯ Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
НО запуская этот макрос снова, у меня не получается такого результата, как через НАЙТИ в меню ПРАВКА чего же не хватает ... |
|||
:
Нравится:
Не нравится:
|
|||
02.11.2016, 17:43 |
|
|
start [/forum/topic.php?fid=61&msg=39340184&tid=2172884]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 144ms |
0 / 0 |