![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 09.02.2009
Сообщений: 9
|
![]()
В документе поддерживается нумерация глав, подглав, под-подглав и т.д.
Есть пунтк 2.4.1 и в нем подпункты 2.4.1.1-2.4.1.20 Как мне быстро сделать ctrl+c или ctrl+x всей главы за номером 2.4.1 ? Выделать мышкой сотни страниц - это ведь NOT TRUE, верно? word - 2007 |
![]() |
![]() |
![]() |
#2 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
![]()
Эти все главы в одном разделе или в разных?
Лучше день потерять — потом за пять минут долететь!©
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 09.02.2009
Сообщений: 9
|
![]()
Что такое раздел, я не знаю. Нумерация в документе поддерживается нумерованными списками уровня от перкого (1,2,3...) до четвертого (2.23.3.4). Мне необходимо выделять кусок с определенным номером третьего уровня вложенности. То есть выделить все подпункты этого куска до следующего пунтка третьего уровня.
Никакой другой структуры в документе не ведется (например упомянутые некие "главы"). UPD: Я просто читал в одной книжке, что надо все автоматизировать и даже если тебе предстоит сделать приглашения на свадьбу - требуется писать специальную программу а список гостей распознавать из рукописного. |
![]() |
![]() |
![]() |
#4 | ||
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
![]() Цитата:
Цитата:
Пробуй этот код. Поставь курсор в тот параграф, откуда хочешь начать выделение и запусти макрос. Все что с нумерацией внутри этого уровня будет скопировано (я надеюсь) в буфер. Код:
Заменил переменные istart и iend на тип Long, т.к. Integer не может быть больше 32 767. На больших текстах могло давать ошибку.
Лучше день потерять — потом за пять минут долететь!©
Последний раз редактировалось viter.alex; 09.02.2009 в 16:48. Причина: Немного исправил код. Теперь условие в цикле будет срабатывать и на больших текстах. |
||
![]() |
![]() |
![]() |
#5 |
Регистрация: 09.02.2009
Сообщений: 9
|
![]()
Я верно понимаю, что для релизации "Вырезать" надо заменить строку
Selection.Copy на строку Selection.Cut ? |
![]() |
![]() |
![]() |
#6 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
![]()
Верной дорогой идете, товарищ!
Лучше день потерять — потом за пять минут долететь!©
|
![]() |
![]() |
![]() |
#7 |
Регистрация: 09.02.2009
Сообщений: 9
|
![]()
сначала вылетело на Integer от переполнения, заменил тип на Long для меток начала и конца. Запустил - зависло (не отвечает). Обламал через ctrl-break.
Можете переписать на такое: выделить и скопировать от текущей позиции курсора до следующего абзаца уровня 3 ? |
![]() |
![]() |
![]() |
#8 | ||
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
![]() Цитата:
Цитата:
Добавлено позже Действительно медленно работает. 8 страниц просматривал около минуты. Нужно оптимизировать. Приду домой — подумаю. Сходу: нужно отсеивать параграфы с другим стилем нумерации и абзацы вообще без нумерации, чтобы их вообще не трогать. Кроме того, диапазон документа засунуть в память, и там копать, а не в документе.
Лучше день потерять — потом за пять минут долететь!©
Последний раз редактировалось viter.alex; 09.02.2009 в 17:10. |
||
![]() |
![]() |
![]() |
#9 | |
Регистрация: 09.02.2009
Сообщений: 9
|
![]() Цитата:
![]() Про засовывание структуры в память. Ее же, структуру, перед этим создать прийдется. А это что, каждый раз 1100 сраниц лопатить? Я хочу этот макрос применять десятки, сотни раз - каждый раз будет создаваться структура. Последний раз редактировалось satyr_of_frost; 09.02.2009 в 18:44. |
|
![]() |
![]() |
![]() |
#10 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
![]()
Оптимизирую. Но очень быстрой работы не жди. Это же VBA, а не ассемблер. Он работает не с текстом, а с объектами, у которых куча свойств.
Оптимизировал Попробуй это. В принципе, если чистый текст без рисунков, то должно правильно работать. Хотя с рисунками тоже, они же не символы. Хотя от Word всего можно ожидать Код:
Лучше день потерять — потом за пять минут долететь!©
Последний раз редактировалось viter.alex; 09.02.2009 в 19:35. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Кодирование на основе ключевого слова и шифрование файла | Шульц | Помощь студентам | 5 | 24.09.2008 22:09 |
Чтение структуры файла | SDK | Помощь студентам | 4 | 23.01.2008 19:30 |
Выделение части изображения | Luboff | Помощь студентам | 1 | 26.11.2007 08:07 |
Копирование структуры в буфер обмена | bill | Общие вопросы Delphi | 14 | 20.11.2007 17:22 |
Вывод части текста из файла | CoDeR | Общие вопросы Delphi | 10 | 16.08.2007 14:30 |