|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
09.02.2013, 21:25 | #1 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
Шаблон поиска
Если есть какие-нибудь идеи, как составить шаблон поиска для следующего текста:
решен слово_1 слово_2 слово_3 слово_4 слово_5 слово_6 слово_7 слово_8 слово_9 слово_10 слово_11 от 01.01.2012 № где: решен - это корень; слово_1 - любое слово; 01.01.2012 - любая дата в виде: ##.##.#### № просто символ "№" Условия: корень "решен" находится в начале слова; после корня "решен" не должно быть окончания "ми"; слово_1 - количество слов от нуля до 11. Примерный шаблон я такой делаю: <решен [!м][!и]( ){1;13}<от [0-9]{2}.[0-9]{2}.[0-9]{4} № В выложенном файле должен находиться только второй абзац. Примечание
|
10.02.2013, 01:04 | #2 |
Форумчанин
Регистрация: 26.04.2010
Сообщений: 450
|
Код:
Тишина – самый громкий звук
|
10.02.2013, 03:45 | #3 |
Форумчанин
Регистрация: 29.09.2008
Сообщений: 378
|
Не будет одного шаблона для обычного поиска.
Оптимально: 1. Искать макросом, по шаблону типа такого: <решен[!^13]@<от [0-9]{2}.[0-9]{2}.[0-9]{4} № 2. Затем дополнительно проверять найденное. Лучше всего способом, предложенным nerv. Перебор параграфов лучше исключить - это тормоза.
Макросы на заказ и готовый пакет - http://mtdmacro.ru/
|
10.02.2013, 07:53 | #4 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
А как привязку сделать результата, полученного с помощью Microsoft VBScript Regular Expressions 5.5, к тексту в документе?
Порядковые номера символов в документе Word не всегда совпадают с порядковыми номерами символов, взятых в переменную. "Microsoft VBScript Regular Expressions 5.5" работает же в переменной, а не в документе Word. |
10.02.2013, 09:17 | #5 |
Форумчанин
Регистрация: 29.09.2008
Сообщений: 378
|
Тем же поиском (Find). У вас есть текст, есть область, осталось поискать.
Утоняющую проверку можно сделать и без RegExp. Например циклом For Each для Words найденной области.
Макросы на заказ и готовый пакет - http://mtdmacro.ru/
|
10.02.2013, 13:20 | #6 |
Форумчанин
Регистрация: 26.04.2010
Сообщений: 450
|
как правило да. В данном случае я бы тоже разбил на
1. примерно найдено 2. найдено наверняка (этот пункт тоже на подпункты потому, что так проще) а) надено решен* (найти и вырезать) б) найдены слова (найти и вырезать) в) найдена дата могу ошибаться, но, думаю, в этом случае это не столь критично, главное качество (поиска). Хотите быстро? Пишите на ассемблере и компилируйте. В данном случае, исходя из файла, одним из критериев отбора является параграф. Если метод Find обеспечивает доступ к найденному (параграф, символ и т.п., я этого не помню), можно воспользоваться им. - нашли файндом (можно просто решен*) - начало параграфа? проверяем дальше этот параграф, - нет, ищем find'ом дальше гемморой
Тишина – самый громкий звук
|
10.02.2013, 13:37 | #7 | |
Форумчанин
Регистрация: 29.09.2008
Сообщений: 378
|
Цитата:
Человеку нужно получить области (Range) слов, даты и др. И ищется не обычный текст, а наверное поля, судя по цитате. На это и направлены мои советы.
Макросы на заказ и готовый пакет - http://mtdmacro.ru/
|
|
10.02.2013, 15:34 | #8 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
Вождь, просто я не знаю, что может быть в Word-документе, поэтому я хотел бы использовать средства самой программы Word.
Можно ли Word-документ представить как переменную с типом данных String? Нет, нельзя. Простой пример - это таблица в Word-документе. Если взять фрагмент Word-документа в переменную с типом данных String, то в переменной будет больше символов, чем есть в объекте Range, поэтому сопоставить данные из переменной и Word-документом просто так не получится - нужно учитывать много факторов. Последний раз редактировалось Скрипт; 11.02.2013 в 09:57. |
10.02.2013, 15:37 | #9 |
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
Новая идея появилась - сначала искать вот это:
<от [0-9]{2}.[0-9]{2}.[0-9]{4} № а затем уже влево двигаться (в начало документа) и анализировать, что встречается. Пока что на макросах остановился. |
10.02.2013, 15:43 | #10 | ||
Форумчанин
Регистрация: 24.12.2012
Сообщений: 776
|
Цитата:
Цитата:
|
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Форма поиска (несколько параметров поиска) | Nastasya83 | Microsoft Office Access | 1 | 19.04.2012 15:48 |
макрос для поиска позиций и вывода данных на лист поиска | mr-111 | Microsoft Office Excel | 12 | 13.03.2012 15:03 |
Дано: таблица в Exel (3 столбца, 4000 строк) и шаблон документа. Задача: Распечатать один и тот-же шаблон документа, под | Evgenya040305 | Помощь студентам | 2 | 24.11.2011 22:21 |
Форма поиска - задать диапазон поиска | VictorM | Microsoft Office Excel | 9 | 21.04.2011 00:12 |