Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Сообщений [ 7 ]
- mikkelle
- полковник
- Неактивен
- Зарегистрирован: 21.01.2010
- Сообщений: 227
- Поблагодарили: 12
Тема: Абзац уровня 1
В тексте документа имеются разделы с заголовками, как со стилями "Заголовок 1", так и с другими стилями. Эти абзацы имеют уровень 1.
Перемещаться по разделам со стилем Заголовок не сложно, но вот как с такой же легкостью перемещаться по заголовкам разделов с другим стилями?
Метод перебора абзацев неплох, но при большом объеме текста становится довольно длительным.
Если кто то знает как быстро перемещаться по абзацам имеющих уровень 1 прошу подсказать.
- yshindin
- генерал-полковник
- Неактивен
- Откуда: Москва
- Зарегистрирован: 12.05.2012
- Сообщений: 447
- Поблагодарили: 171
Re: Абзац уровня 1
mikkelle пишет:Если кто то знает как быстро перемещаться по абзацам имеющих уровень 1 прошу подсказать.
Можно поступить так: в диалоге "Поиска" указать поиск по атрибуту абзаца "Уровень 1", выполнить поиск, а далее использовать комбинации "Ctrl+PgDn" и "Ctrl+PgUp" для поиска в документе следующего/предыдущего абзаца с этим атрибутом.
- yshindin
- генерал-полковник
- Неактивен
- Откуда: Москва
- Зарегистрирован: 12.05.2012
- Сообщений: 447
- Поблагодарили: 171
Re: Абзац уровня 1
yshindin пишет:mikkelle пишет:Если кто то знает как быстро перемещаться по абзацам имеющих уровень 1 прошу подсказать.
Можно поступить так: в диалоге "Поиска" указать поиск по атрибуту абзаца "Уровень 1", выполнить поиск, а далее использовать комбинации "Ctrl+PgDn" и "Ctrl+PgUp" для поиска в документе следующего/предыдущего абзаца с этим атрибутом.
Разумеется, можно записать это в виде макроса VBA и обернуть в необходимый цикл типа "Do While". Если при очередном "нажатии" (или выполнении операции Selection.Find.Execute) границы Selection не изменятся (или Selection.Find.Found установится в False), то цикл завершен.
- yshindin
- генерал-полковник
- Неактивен
- Откуда: Москва
- Зарегистрирован: 12.05.2012
- Сообщений: 447
- Поблагодарили: 171
Re: Абзац уровня 1
yshindin пишет:Разумеется, можно записать это в виде макроса VBA и обернуть в необходимый цикл типа "Do While".
Для ускорения работы лучше не использовать объект Selection, а применять диапазон. Например, так:
'-----------------------------
Sub ScanLevel1Paragraphs()
Dim r As range
Dim pfound As Boolean
Dim p As Paragraph
Set r = ActiveDocument.range
pfound = True
While pfound
'поиска абзаца
With r.Find
.ParagraphFormat.OutlineLevel = wdOutlineLevel1
.Execute Findtext:="", Forward:=True
pfound = .Found
End With
If pfound Then
'Обработка очередного найденного абзаца
Set p = r.Paragraphs(1)
'и т.д.
End If
Wend
Set r = Nothing
End Sub
'------------------------------
- Alex_Gur
- Модератор
- Неактивен
- Откуда: Москва
- Зарегистрирован: 28.07.2011
- Сообщений: 2,758
- Поблагодарили: 492
Re: Абзац уровня 1
Если абзацы имеют уровень 1, то Вы можете перемещаться по ним в области Навигация (вне зависимости от того, называется ли стиль Заголовок или нет).
Удобной и приятной работы в Word!
Перевести спасибо на Яндекс кошелёк - 41001162202962; на WebMoney - R581830807057.
- yshindin
- генерал-полковник
- Неактивен
- Откуда: Москва
- Зарегистрирован: 12.05.2012
- Сообщений: 447
- Поблагодарили: 171
Re: Абзац уровня 1
Alex_Gur пишет:Если абзацы имеют уровень 1, то Вы можете перемещаться по ним в области Навигация (вне зависимости от того, называется ли стиль Заголовок или нет).
Да, но mikkelle, видимо, имеет в виду программный поиск абзацев по документу не путем перебора всех абзацев, а путем их ускоренного поиска по различным атрибутам. Тут много возможностей, напр., можно искать и по нужному стилю:
...
With r.Find
.Style = wdStyleListNumber
.Execute Findtext:="", Forward:=True
pfound = .Found
End With
...
- mikkelle
- полковник
- Неактивен
- Зарегистрирован: 21.01.2010
- Сообщений: 227
- Поблагодарили: 12
Re: Абзац уровня 1
Alex_Gur пишет:Если абзацы имеют уровень 1, то Вы можете перемещаться по ним в области Навигация (вне зависимости от того, называется ли стиль Заголовок или нет).
Увы, нет. Если только мы говорим об одной и той же области навигации и если к ней не существует специальных настроек.
Я предполагал, что это можно как то реализовать через режим структуры.
yshindin, спасибо вам за отклик. Но я сейчас и так реализую данную проблему этим методом.
Использование метода find хотелось бы избежать именно из-за вопроса применения selection.
Сообщений [ 7 ]
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Абзац уровня 1
Очень часто бывает, что проработав долгое время с какой-то программой, мы не знаем всех ее возможностей. На портале о Microsoft Office Word вы узнаете про: чтобы таблица в ворде не переносилась.
Например, пользователи Microsoft Word, часто пренебрегают такими удобными инструментами, как назначение шаблонов, написание макросов для различных функций. На портале о Microsoft Office Word вы узнаете про: как подтянуть данные из excel в word.
Автоматизации работы в Ворде уделено главное место на форуме сайта Ворд Эксперт. Кроме того, здесь можно найти информацию по различным функциям приложения, настройкам, способам форматирования, оформления текстов и многое другое. На портале о Microsoft Office Word вы узнаете про: word разработчик поля.
Приятно, что существует возможность просто найти готовое решение или оставить заявку на выполнение нужной вам работы. Наш сайт о Microsoft Office Word даст ответ про: как сделать чтобы в ворде не съедало линию.