|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
09.02.2009, 15:18 | #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 |
09.02.2009, 15:26 | #2 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Эти все главы в одном разделе или в разных?
Лучше день потерять — потом за пять минут долететь!©
|
09.02.2009, 16:08 | #3 |
Регистрация: 09.02.2009
Сообщений: 9
|
Что такое раздел, я не знаю. Нумерация в документе поддерживается нумерованными списками уровня от перкого (1,2,3...) до четвертого (2.23.3.4). Мне необходимо выделять кусок с определенным номером третьего уровня вложенности. То есть выделить все подпункты этого куска до следующего пунтка третьего уровня.
Никакой другой структуры в документе не ведется (например упомянутые некие "главы"). UPD: Я просто читал в одной книжке, что надо все автоматизировать и даже если тебе предстоит сделать приглашения на свадьбу - требуется писать специальную программу а список гостей распознавать из рукописного. |
09.02.2009, 16:17 | #4 | ||
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Цитата:
Цитата:
Пробуй этот код. Поставь курсор в тот параграф, откуда хочешь начать выделение и запусти макрос. Все что с нумерацией внутри этого уровня будет скопировано (я надеюсь) в буфер. Код:
Заменил переменные istart и iend на тип Long, т.к. Integer не может быть больше 32 767. На больших текстах могло давать ошибку.
Лучше день потерять — потом за пять минут долететь!©
Последний раз редактировалось viter.alex; 09.02.2009 в 16:48. Причина: Немного исправил код. Теперь условие в цикле будет срабатывать и на больших текстах. |
||
09.02.2009, 16:19 | #5 |
Регистрация: 09.02.2009
Сообщений: 9
|
спутал главы и параграфы %-)
Я верно понимаю, что для релизации "Вырезать" надо заменить строку
Selection.Copy на строку Selection.Cut ? |
09.02.2009, 16:24 | #6 |
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Верной дорогой идете, товарищ!
Лучше день потерять — потом за пять минут долететь!©
|
09.02.2009, 16:47 | #7 |
Регистрация: 09.02.2009
Сообщений: 9
|
сначала вылетело на Integer от переполнения, заменил тип на Long для меток начала и конца. Запустил - зависло (не отвечает). Обламал через ctrl-break.
Можете переписать на такое: выделить и скопировать от текущей позиции курсора до следующего абзаца уровня 3 ? |
09.02.2009, 16:51 | #8 | ||
Балуюсь кодами
Участник клуба
Регистрация: 09.01.2009
Сообщений: 1,837
|
Цитата:
Цитата:
Добавлено позже Действительно медленно работает. 8 страниц просматривал около минуты. Нужно оптимизировать. Приду домой — подумаю. Сходу: нужно отсеивать параграфы с другим стилем нумерации и абзацы вообще без нумерации, чтобы их вообще не трогать. Кроме того, диапазон документа засунуть в память, и там копать, а не в документе.
Лучше день потерять — потом за пять минут долететь!©
Последний раз редактировалось viter.alex; 09.02.2009 в 17:10. |
||
09.02.2009, 17:32 | #9 | |
Регистрация: 09.02.2009
Сообщений: 9
|
Цитата:
Про засовывание структуры в память. Ее же, структуру, перед этим создать прийдется. А это что, каждый раз 1100 сраниц лопатить? Я хочу этот макрос применять десятки, сотни раз - каждый раз будет создаваться структура. Последний раз редактировалось satyr_of_frost; 09.02.2009 в 18:44. |
|
09.02.2009, 18:57 | #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 |