Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Простая метрика сходства текстовых строк - Страница 4 - Мир MS Excel

Старая форма входа
Модератор форума: _Boroda_, китин  
Мир MS Excel » Вопросы и решения » Готовые решения » Простая метрика сходства текстовых строк (Нечеткий поиск - варианты решения)
Простая метрика сходства текстовых строк
VovaK Дата: Вторник, 27.09.2011, 09:37 | Сообщение № 61
Группа: Друзья
Ранг: Форумчанин
Сообщений: 116
Репутация: 41 ±
Замечаний: 0% ±

10
Ребята поправьте меня, если я не прав. С самого начала не мог понять идею. Зачем изобретать велосипед, если он уже изобретен, надо только научиться на нем ездить. Этот велосипед называется Регулярные выражения. Посредством регулярных выражений осуществляется поиск практически всех браузеров интернета. Регулярные выражения с умелым использованием можно с успехом использовать в VBA. Самую большую сложность представляет корректное составление строки поиска на регулярных выражениях, а процент совпадения - ну для какой задачи он нужен? Жду жесткой критики ...


Всем удачи. У нас все получится.
С уважением, Владимир.
 
Ответить
СообщениеРебята поправьте меня, если я не прав. С самого начала не мог понять идею. Зачем изобретать велосипед, если он уже изобретен, надо только научиться на нем ездить. Этот велосипед называется Регулярные выражения. Посредством регулярных выражений осуществляется поиск практически всех браузеров интернета. Регулярные выражения с умелым использованием можно с успехом использовать в VBA. Самую большую сложность представляет корректное составление строки поиска на регулярных выражениях, а процент совпадения - ну для какой задачи он нужен? Жду жесткой критики ...

Автор - VovaK
Дата добавления - 27.09.2011 в 09:37
Serge_007 Дата: Вторник, 27.09.2011, 10:10 | Сообщение № 62
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (VovaK)
а процент совпадения - ну для какой задачи он нужен?

Для нечёткого поиска...


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (VovaK)
а процент совпадения - ну для какой задачи он нужен?

Для нечёткого поиска...

Автор - Serge_007
Дата добавления - 27.09.2011 в 10:10
Формуляр Дата: Вторник, 27.09.2011, 10:31 | Сообщение № 63
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
VovaK,
лично мне он нужен для автоматического поиска в списке названий наиболее похожих по содержанию. Нечёткий поиск, конечно, синонимы не находит, но, по крайней мере, устойчив к перестановке слов и (в меньшей степени) вариациям грамматических форм.
Регулярные выражения, во-первых, составлять надо вручную, а во-вторых, не позволяют упорядочить рейтинг по степени сходства - и, соответственно, визуально анализировать, наиболее подходящие строки. Я уж не говорю об ошибка и опечатках, которые отсеиваютя like'ом на корню.


Excel 2003 EN, 2013 EN

Сообщение отредактировал Формуляр - Вторник, 27.09.2011, 10:31
 
Ответить
СообщениеVovaK,
лично мне он нужен для автоматического поиска в списке названий наиболее похожих по содержанию. Нечёткий поиск, конечно, синонимы не находит, но, по крайней мере, устойчив к перестановке слов и (в меньшей степени) вариациям грамматических форм.
Регулярные выражения, во-первых, составлять надо вручную, а во-вторых, не позволяют упорядочить рейтинг по степени сходства - и, соответственно, визуально анализировать, наиболее подходящие строки. Я уж не говорю об ошибка и опечатках, которые отсеиваютя like'ом на корню.

Автор - Формуляр
Дата добавления - 27.09.2011 в 10:31
VovaK Дата: Вторник, 27.09.2011, 11:58 | Сообщение № 64
Группа: Друзья
Ранг: Форумчанин
Сообщений: 116
Репутация: 41 ±
Замечаний: 0% ±

10
Формуляр, насчет вручную - думаю Вы ошибаетесь. Все интернет браузеры формируют строку поиска программно, к примеру рядовой пользователь понятия не имеет, что длиннющая строка, следующая за адресом yandex.ru не что иное как строка поиска, изложенная регулярными выражениями. Все, что вы перечислили доступно этими средствами.

Формуляр, поймите меня правильно. На данный момент Вы тратите силы и время в основном для прописывания алгоритма сравнения. Я же предлагаю, используя движок регулярных выражений изготовить инструмент создания строк поиска с различной степенью схожести. Согласитесь, что это будет инструмент уже для широкого использования.


Всем удачи. У нас все получится.
С уважением, Владимир.
 
Ответить
СообщениеФормуляр, насчет вручную - думаю Вы ошибаетесь. Все интернет браузеры формируют строку поиска программно, к примеру рядовой пользователь понятия не имеет, что длиннющая строка, следующая за адресом yandex.ru не что иное как строка поиска, изложенная регулярными выражениями. Все, что вы перечислили доступно этими средствами.

Формуляр, поймите меня правильно. На данный момент Вы тратите силы и время в основном для прописывания алгоритма сравнения. Я же предлагаю, используя движок регулярных выражений изготовить инструмент создания строк поиска с различной степенью схожести. Согласитесь, что это будет инструмент уже для широкого использования.

Автор - VovaK
Дата добавления - 27.09.2011 в 11:58
Формуляр Дата: Вторник, 27.09.2011, 12:08 | Сообщение № 65
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
VovaK, обсуждать преимущества и недостатки того или иного метода лучше на конкретном примере (и не интернет-поисковиков, а нашего дорогого Ёкселя :)). Предложите свой вариант решения для FUZZY_SEARCHING, который у нас вроде полигона стал - тогда можно будет говорить предметно.


Excel 2003 EN, 2013 EN

Сообщение отредактировал Формуляр - Вторник, 27.09.2011, 12:11
 
Ответить
СообщениеVovaK, обсуждать преимущества и недостатки того или иного метода лучше на конкретном примере (и не интернет-поисковиков, а нашего дорогого Ёкселя :)). Предложите свой вариант решения для FUZZY_SEARCHING, который у нас вроде полигона стал - тогда можно будет говорить предметно.

Автор - Формуляр
Дата добавления - 27.09.2011 в 12:08
VovaK Дата: Вторник, 27.09.2011, 12:46 | Сообщение № 66
Группа: Друзья
Ранг: Форумчанин
Сообщений: 116
Репутация: 41 ±
Замечаний: 0% ±

10
Я не загорелся этой темой, возможно позже...


Всем удачи. У нас все получится.
С уважением, Владимир.
 
Ответить
СообщениеЯ не загорелся этой темой, возможно позже...

Автор - VovaK
Дата добавления - 27.09.2011 в 12:46
Alex_ST Дата: Вторник, 27.09.2011, 13:02 | Сообщение № 67
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
Очевидно, Володе не приходилось выбирать информацию из большого объёма данных, забитых в таблицы кривыми ручками нескольких очень далёких от компьютера человек за несколько лет.
Типичный пример - таблица складского учёта, заполняемая нашими кладовщиками.
Они же все "умные" и считают, что если буквы выглядят на распечатке одинаково, то это одни и те же буквы, а кроме того - что перестановка слов в полном названии изделия обычно не меняет смысла записи... angry Ну а уж про совершенно произвольные сокращения длинных (и не очень) слов я вообще не говорю.
На все попытки навести порядок у них один ответ: "Ну, неужели тебе, тупому, не понятно, что Кабель волоконно-оптический - это то же самое, что Опт.кабель или ВОК?"
Мне-то понятно, а вот как найти в таблице этот кабель если не знаешь, как он туда внесён?



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Вторник, 27.09.2011, 13:03
 
Ответить
СообщениеОчевидно, Володе не приходилось выбирать информацию из большого объёма данных, забитых в таблицы кривыми ручками нескольких очень далёких от компьютера человек за несколько лет.
Типичный пример - таблица складского учёта, заполняемая нашими кладовщиками.
Они же все "умные" и считают, что если буквы выглядят на распечатке одинаково, то это одни и те же буквы, а кроме того - что перестановка слов в полном названии изделия обычно не меняет смысла записи... angry Ну а уж про совершенно произвольные сокращения длинных (и не очень) слов я вообще не говорю.
На все попытки навести порядок у них один ответ: "Ну, неужели тебе, тупому, не понятно, что Кабель волоконно-оптический - это то же самое, что Опт.кабель или ВОК?"
Мне-то понятно, а вот как найти в таблице этот кабель если не знаешь, как он туда внесён?

Автор - Alex_ST
Дата добавления - 27.09.2011 в 13:02
VovaK Дата: Вторник, 27.09.2011, 13:29 | Сообщение № 68
Группа: Друзья
Ранг: Форумчанин
Сообщений: 116
Репутация: 41 ±
Замечаний: 0% ±

10
Алекс, ну это сверхзадача, научить поисковик воспринимать ВОК и Кабель волоконно-оптический за одно и то же. Для такой задачи необходимы дополнительные поля в базе, сужающие область поиска. В SAP R3 это группы и класификаторы.

Если кладовщиков заставить правильно ставить группы (в цифрах трудно заплутать) и характеристики продукции, поиск будет намного предметнее.

И потом, что вы ждете от такого поисковика, соберет он в кучу все что не попадя, в любом случае без участия человечека не обойтись. Не проще сразу ручками, но с использованием VBA, как здесь http://www.planetaexcel.ru/forum.php?thread_id=25514


Всем удачи. У нас все получится.
С уважением, Владимир.


Сообщение отредактировал VovaK - Вторник, 27.09.2011, 20:54
 
Ответить
СообщениеАлекс, ну это сверхзадача, научить поисковик воспринимать ВОК и Кабель волоконно-оптический за одно и то же. Для такой задачи необходимы дополнительные поля в базе, сужающие область поиска. В SAP R3 это группы и класификаторы.

Если кладовщиков заставить правильно ставить группы (в цифрах трудно заплутать) и характеристики продукции, поиск будет намного предметнее.

И потом, что вы ждете от такого поисковика, соберет он в кучу все что не попадя, в любом случае без участия человечека не обойтись. Не проще сразу ручками, но с использованием VBA, как здесь http://www.planetaexcel.ru/forum.php?thread_id=25514

Автор - VovaK
Дата добавления - 27.09.2011 в 13:29
nerv Дата: Вторник, 27.09.2011, 19:10 | Сообщение № 69
Группа: Редакторы
Ранг: Обитатель
Сообщений: 431
Репутация: 193 ±
Замечаний: 0% ±

to Vovak, я пока не понимаю о чем Вы : )

Сегодня тестил свою ф-цию на реальных примерах. Очень интересные результаты) Если будет завтра время на работе, выложу.


Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


YM 41001156540584 / WM WMR R21924176233

https://github.com/nervgh/vba
 
Ответить
Сообщениеto Vovak, я пока не понимаю о чем Вы : )

Сегодня тестил свою ф-цию на реальных примерах. Очень интересные результаты) Если будет завтра время на работе, выложу.

Автор - nerv
Дата добавления - 27.09.2011 в 19:10
nerv Дата: Среда, 28.09.2011, 11:37 | Сообщение № 70
Группа: Редакторы
Ранг: Обитатель
Сообщений: 431
Репутация: 193 ±
Замечаний: 0% ±

попытался сравнить своей функцией следующие данные (см. файл). Почему пары расставлены таким образом? У них был забит одинаковый ИНН.
К сообщению приложен файл: 2968013.zip (17.0 Kb)


Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


YM 41001156540584 / WM WMR R21924176233

https://github.com/nervgh/vba
 
Ответить
Сообщениепопытался сравнить своей функцией следующие данные (см. файл). Почему пары расставлены таким образом? У них был забит одинаковый ИНН.

Автор - nerv
Дата добавления - 28.09.2011 в 11:37
Формуляр Дата: Пятница, 07.10.2011, 15:26 | Сообщение № 71
Группа: Друзья
Ранг: Ветеран
Сообщений: 832
Репутация: 255 ±
Замечаний: 0% ±

Excel 2003, 2013
Цитата (nerv)
Хотел бы поинтересоваться у Формуляра, почему (как) в примере ниже получается результат 33% при Q=3? маня 33% ваня ' ??? ман+аня = ван+аня ' мне сравнение видится так. По логике 50%

Такая метрика выглядит, пожалуй, более естественно.
Получить её из метрики TextSimilarity() можно простым преобразованием:
[vba]
Код
= 2 / (1 + 1/TextSimilarity())
[/vba]


Excel 2003 EN, 2013 EN
 
Ответить
Сообщение
Цитата (nerv)
Хотел бы поинтересоваться у Формуляра, почему (как) в примере ниже получается результат 33% при Q=3? маня 33% ваня ' ??? ман+аня = ван+аня ' мне сравнение видится так. По логике 50%

Такая метрика выглядит, пожалуй, более естественно.
Получить её из метрики TextSimilarity() можно простым преобразованием:
[vba]
Код
= 2 / (1 + 1/TextSimilarity())
[/vba]

Автор - Формуляр
Дата добавления - 07.10.2011 в 15:26
v__step Дата: Пятница, 17.02.2012, 00:55 | Сообщение № 72
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 27 ±
Замечаний: 0% ±

Разрешите предложить вариант RegExp-вариант одной из функций, задействованных в Вашей книге FuzzyMatch
Мои вдохновители - Alex_ST и Nerv (Саша высказал близкие мысли по поводу метода, а ещё усомнился в его эффективности, и не зря wink )

Код не стал существенно более наглядным и лаконичным, а функция не очень-то прибавила в скорости
Быстродействие старой и новой функций находится за "интерфейсным порогом" (т.е. их скорость такая же, как и у самой простой UDF-функции, возвращающей единицу), поэтому для ускорения обработки данных на листе, скорее всего, надо использовать другие инструменты (не функции)

Новая функция, бесспорно, выигрывает при сравнении очень длинных строк, лучше ведет себя в Win-98 и Win-7
Имеются дополнительные возможности предварительной очистки от пробелов и знаков препинания
Скорее всего, возможна утонченная обработка сравниваемых строк, учет каких-то общих правил и т.д.
Общий вывод: пока ничего особенного
К сообщению приложен файл: Fuzzy_Match_Reg.zip (44.2 Kb)


С уважением, Владимир

Сообщение отредактировал v__step - Пятница, 17.02.2012, 12:38
 
Ответить
СообщениеРазрешите предложить вариант RegExp-вариант одной из функций, задействованных в Вашей книге FuzzyMatch
Мои вдохновители - Alex_ST и Nerv (Саша высказал близкие мысли по поводу метода, а ещё усомнился в его эффективности, и не зря wink )

Код не стал существенно более наглядным и лаконичным, а функция не очень-то прибавила в скорости
Быстродействие старой и новой функций находится за "интерфейсным порогом" (т.е. их скорость такая же, как и у самой простой UDF-функции, возвращающей единицу), поэтому для ускорения обработки данных на листе, скорее всего, надо использовать другие инструменты (не функции)

Новая функция, бесспорно, выигрывает при сравнении очень длинных строк, лучше ведет себя в Win-98 и Win-7
Имеются дополнительные возможности предварительной очистки от пробелов и знаков препинания
Скорее всего, возможна утонченная обработка сравниваемых строк, учет каких-то общих правил и т.д.
Общий вывод: пока ничего особенного

Автор - v__step
Дата добавления - 17.02.2012 в 00:55
Alex_ST Дата: Пятница, 17.02.2012, 10:34 | Сообщение № 73
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
Володя, вот что мне в тебе очень нравится (кроме твоей продвинутости и приятности общения, естественно smile ) - это аккуратность в оформлении решений! Огромное спасибо тебе, что не поленился тратить время на описание алгоритма.
На досуге надо будет попытать твою новую функцию, попытаться прикрутить её к фильтру (как я делал в своих постах (ну, например, ЗДЕСЬ )



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеВолодя, вот что мне в тебе очень нравится (кроме твоей продвинутости и приятности общения, естественно smile ) - это аккуратность в оформлении решений! Огромное спасибо тебе, что не поленился тратить время на описание алгоритма.
На досуге надо будет попытать твою новую функцию, попытаться прикрутить её к фильтру (как я делал в своих постах (ну, например, ЗДЕСЬ )

Автор - Alex_ST
Дата добавления - 17.02.2012 в 10:34
nerv Дата: Пятница, 17.02.2012, 10:47 | Сообщение № 74
Группа: Редакторы
Ранг: Обитатель
Сообщений: 431
Репутация: 193 ±
Замечаний: 0% ±

Владимир, спасибо, что поднял столь интересную тему! Несмотря на то, что топик называется "Готовые решения", я хотел бы Вас призвать немного порассуждать, попытаться собрать все самые лучше мысли на этот счет в кучу. Начну с того, что могу вспомнить:

Мысль 1. Предварительная обработка сравниваемых строк.
- Предлагаю очищать сравниваемые строки от всего, кроме букв английского и русского алфавитов и цифр.
- Вероятно, еще потребуется заменять английские буквы в русских словах на русские [и на оборот]
- Ув. Формуляр высказывался о целесообразности отсечения суффиксов и окончаний. Склонен с ним согласиться.
- Привести к единому регистру

Далее следуют предположения.
Возможно, имеет смысл разбить строки по пробелам и плясать от этого. Разумеется нужно как-то фиксировать позиции, в которых находились те или иные слова. На этом моменте я зашел в тупик) Жду предложений и идей smile


Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


YM 41001156540584 / WM WMR R21924176233

https://github.com/nervgh/vba


Сообщение отредактировал nerv - Пятница, 17.02.2012, 10:49
 
Ответить
СообщениеВладимир, спасибо, что поднял столь интересную тему! Несмотря на то, что топик называется "Готовые решения", я хотел бы Вас призвать немного порассуждать, попытаться собрать все самые лучше мысли на этот счет в кучу. Начну с того, что могу вспомнить:

Мысль 1. Предварительная обработка сравниваемых строк.
- Предлагаю очищать сравниваемые строки от всего, кроме букв английского и русского алфавитов и цифр.
- Вероятно, еще потребуется заменять английские буквы в русских словах на русские [и на оборот]
- Ув. Формуляр высказывался о целесообразности отсечения суффиксов и окончаний. Склонен с ним согласиться.
- Привести к единому регистру

Далее следуют предположения.
Возможно, имеет смысл разбить строки по пробелам и плясать от этого. Разумеется нужно как-то фиксировать позиции, в которых находились те или иные слова. На этом моменте я зашел в тупик) Жду предложений и идей smile

Автор - nerv
Дата добавления - 17.02.2012 в 10:47
Alex_ST Дата: Пятница, 17.02.2012, 11:19 | Сообщение № 75
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
К Сашиным соображениям позвольте добавить и свои "пять копеек":
- ограничивать минимальную длину сравниваемых стрингов как делал Формуляр в своём ПОСТЕ (иначе слишком много вариантов будет)



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеК Сашиным соображениям позвольте добавить и свои "пять копеек":
- ограничивать минимальную длину сравниваемых стрингов как делал Формуляр в своём ПОСТЕ (иначе слишком много вариантов будет)

Автор - Alex_ST
Дата добавления - 17.02.2012 в 11:19
v__step Дата: Пятница, 17.02.2012, 12:36 | Сообщение № 76
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 27 ±
Замечаний: 0% ±

У меня тоже появился минимальный опыт общения с этим вопросом и, соответственно, некоторые соображения:
- Работа массивов/словарей скорее всего, будет проходить гораздо быстрее и гибче, чем UDF
- Похоже, стоит выполнять поиск в несколько этапов: сначала грубо (самым простым и быстрым способом), затем уточнённо - так можно повысить быстродействие на порядок

Раз есть минимальный интерес к этой теме, я сегодня вечером постараюсь расширить и уточнить описание (сейчас я уделил внимание только одному этапу из нескольких)
Я очень рассчитываю на руку дружбы и помощи, потому что мне давно пора возобновить работу над Фитнесом - он стОит того. Что касается нечеткого поиска, вижу свою задачу в некотором возмущении общего спокойствия, не более того smile


С уважением, Владимир

Сообщение отредактировал v__step - Пятница, 17.02.2012, 12:46
 
Ответить
СообщениеУ меня тоже появился минимальный опыт общения с этим вопросом и, соответственно, некоторые соображения:
- Работа массивов/словарей скорее всего, будет проходить гораздо быстрее и гибче, чем UDF
- Похоже, стоит выполнять поиск в несколько этапов: сначала грубо (самым простым и быстрым способом), затем уточнённо - так можно повысить быстродействие на порядок

Раз есть минимальный интерес к этой теме, я сегодня вечером постараюсь расширить и уточнить описание (сейчас я уделил внимание только одному этапу из нескольких)
Я очень рассчитываю на руку дружбы и помощи, потому что мне давно пора возобновить работу над Фитнесом - он стОит того. Что касается нечеткого поиска, вижу свою задачу в некотором возмущении общего спокойствия, не более того smile

Автор - v__step
Дата добавления - 17.02.2012 в 12:36
Alex_ST Дата: Пятница, 17.02.2012, 13:59 | Сообщение № 77
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
Вот, пока первый Володин вариант "прикрутил" к своему псевдо-фильтру.
Вроде, работает и не шибко тормозит.
(там ещё не убраны разные другие методы, которые я пытал раньше. Можно будет попробовать менять их в последней процедуре Sheet01)
К сообщению приложен файл: FUZZY_SEARCHING.zip (81.4 Kb)



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеВот, пока первый Володин вариант "прикрутил" к своему псевдо-фильтру.
Вроде, работает и не шибко тормозит.
(там ещё не убраны разные другие методы, которые я пытал раньше. Можно будет попробовать менять их в последней процедуре Sheet01)

Автор - Alex_ST
Дата добавления - 17.02.2012 в 13:59
v__step Дата: Пятница, 17.02.2012, 14:22 | Сообщение № 78
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 27 ±
Замечаний: 0% ±

Молниеносная реакция!
Всё-таки ждем до сегодняшнего вечера с более подбробным описанием работы RegEx. Это важно, потому что материал новый, и надо во всём хоршенько разобраться
В конце концов, это неплохая возможность дополнительно ознакомиться с +- RegEx, что само по себе не сейчас, так потом обязательно пригодится


С уважением, Владимир
 
Ответить
СообщениеМолниеносная реакция!
Всё-таки ждем до сегодняшнего вечера с более подбробным описанием работы RegEx. Это важно, потому что материал новый, и надо во всём хоршенько разобраться
В конце концов, это неплохая возможность дополнительно ознакомиться с +- RegEx, что само по себе не сейчас, так потом обязательно пригодится

Автор - v__step
Дата добавления - 17.02.2012 в 14:22
Alex_ST Дата: Пятница, 17.02.2012, 15:55 | Сообщение № 79
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
Володя,
к своему огорчению на этом примере я в полной мере прочувствовал преимущества так не любимого мною раннего связывания перед поздним... (там я твой исходный код процедуры fRegExRep просто заремарил, а не удалил и переделал в свою fRegExRep с поздним связыванием, поэтому сравнить не трудно)
Жутко тормозит при позднем связывании!



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Пятница, 17.02.2012, 16:07
 
Ответить
СообщениеВолодя,
к своему огорчению на этом примере я в полной мере прочувствовал преимущества так не любимого мною раннего связывания перед поздним... (там я твой исходный код процедуры fRegExRep просто заремарил, а не удалил и переделал в свою fRegExRep с поздним связыванием, поэтому сравнить не трудно)
Жутко тормозит при позднем связывании!

Автор - Alex_ST
Дата добавления - 17.02.2012 в 15:55
v__step Дата: Пятница, 17.02.2012, 16:21 | Сообщение № 80
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 27 ±
Замечаний: 0% ±

Что поделаешь...
А ведь есть и более серьезные проблемы автоматизации. Эх, если бы ты видел, как тормозит объектная модель Автокада при запуске из Excel...
При элементарном обходе коллекции примитивов чертежа частенько бывает замедление в миллионы раз
Приходится подгружать проект VBA Автокада, запускать там процедуры методом Run, ждать завершения их действий, получать данные назад, и только потом возобновлять работу. И ничего не поделаешь, и раннее связывание не спасет...
Я перестал пользоваться поздним связыванием, получив минимальный опыт работы с Word, Access и Autocad из Excel
Скорее всего, сновное назначение позднего связывания - обучение (так же, как и использование переменных без объявления типа)
Могу предположить, что позднее связывание способно не только замедлять работу программы, но и вызывать сбои...
Возможно, и уважаемый Dictionary из библиотеки ScriptingRuntime имеет дополнительный резерв быстродействия при раннем связывании


С уважением, Владимир

Сообщение отредактировал v__step - Пятница, 17.02.2012, 17:53
 
Ответить
СообщениеЧто поделаешь...
А ведь есть и более серьезные проблемы автоматизации. Эх, если бы ты видел, как тормозит объектная модель Автокада при запуске из Excel...
При элементарном обходе коллекции примитивов чертежа частенько бывает замедление в миллионы раз
Приходится подгружать проект VBA Автокада, запускать там процедуры методом Run, ждать завершения их действий, получать данные назад, и только потом возобновлять работу. И ничего не поделаешь, и раннее связывание не спасет...
Я перестал пользоваться поздним связыванием, получив минимальный опыт работы с Word, Access и Autocad из Excel
Скорее всего, сновное назначение позднего связывания - обучение (так же, как и использование переменных без объявления типа)
Могу предположить, что позднее связывание способно не только замедлять работу программы, но и вызывать сбои...
Возможно, и уважаемый Dictionary из библиотеки ScriptingRuntime имеет дополнительный резерв быстродействия при раннем связывании

Автор - v__step
Дата добавления - 17.02.2012 в 16:21
Мир MS Excel » Вопросы и решения » Готовые решения » Простая метрика сходства текстовых строк (Нечеткий поиск - варианты решения)
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!