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

Вход

Регистрация

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

 

= Мир MS Excel/Поговорим про RegExp? - Страница 5 - Мир MS Excel

Старая форма входа
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Поговорим про RegExp? (Подготовка для топика FAQ по RegExp в Готовых решениях)
Поговорим про RegExp?
v__step Дата: Четверг, 15.12.2011, 16:49 | Сообщение № 81
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 27 ±
Замечаний: 0% ±

Лёш, ну, ты точно еще не был на листе с примерами SubMatches. Сделать описание яснее и короче, чем у Форты, или чем на сайте авторов RegExp я не смогу, но примеры говорят сами за себя. Регулярные выражения лучше изучать "от примеров" (да разве только их...)
Я старался - неделю сочинял шаблоны "по-русски"
Давай скорей на лист с примерами шаблонов - они давно ждут тебя


С уважением, Владимир
 
Ответить
СообщениеЛёш, ну, ты точно еще не был на листе с примерами SubMatches. Сделать описание яснее и короче, чем у Форты, или чем на сайте авторов RegExp я не смогу, но примеры говорят сами за себя. Регулярные выражения лучше изучать "от примеров" (да разве только их...)
Я старался - неделю сочинял шаблоны "по-русски"
Давай скорей на лист с примерами шаблонов - они давно ждут тебя

Автор - v__step
Дата добавления - 15.12.2011 в 16:49
Alex_ST Дата: Четверг, 15.12.2011, 17:22 | Сообщение № 82
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
Да я тут эта... С неработающими \s и \S боролся... И вообще... shy



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеДа я тут эта... С неработающими \s и \S боролся... И вообще... shy

Автор - Alex_ST
Дата добавления - 15.12.2011 в 17:22
v__step Дата: Пятница, 16.12.2011, 01:37 | Сообщение № 83
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 27 ±
Замечаний: 0% ±

Неработающие \s и \S - это было сильно
Лёш, бегло посмотрел лист, заметил, что слетели картинки на рисунке объектной модели
Восстановил (прикладываю)

Кажется, наконец, подобрал нежирный шрифт с хорошим отображением мелких знаков (точек, запятых и т.д.) - Trebuchet MS. Он похоже еще и моноширинный (Courier не нравится - грубый)

Ты меня заитриговал Word-проблемой. Если можно, фрагменты файлов до и после все-таки покажи
К сообщению приложен файл: ObjPict.xls (66.5 Kb)


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

Сообщение отредактировал v__step - Пятница, 16.12.2011, 01:39
 
Ответить
СообщениеНеработающие \s и \S - это было сильно
Лёш, бегло посмотрел лист, заметил, что слетели картинки на рисунке объектной модели
Восстановил (прикладываю)

Кажется, наконец, подобрал нежирный шрифт с хорошим отображением мелких знаков (точек, запятых и т.д.) - Trebuchet MS. Он похоже еще и моноширинный (Courier не нравится - грубый)

Ты меня заитриговал Word-проблемой. Если можно, фрагменты файлов до и после все-таки покажи

Автор - v__step
Дата добавления - 16.12.2011 в 01:37
Alex_ST Дата: Пятница, 16.12.2011, 11:57 | Сообщение № 84
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
Привет, народ!
Я тут умудрился-таки, вооружившись макрорекордером и пошарив по примерам и справкам сети, состряпать макрос для Word, удаляющий многократные пробелы в тексте.
Оказалось, что в окне "Найти и заменить" можно использовать шаблоны, очень похожие на шаблоны регулярных выражений ( ; в паттерне вместо запятой)
Вот что получилось:[vba]
Код
Sub WDDeleteSpace() ' макрос Word для "Убрать многократные пробелы"
      With Selection.Find
         .Text = "[ ]{2;}" ' найти в Selection 2 и более пробелов
         .Replacement.Text = " "
         .Wrap = wdFindStop ' выполнить только в Selection и не предлагать после этого искать во всём документе
      End With
      Selection.Find.Execute Replace:=wdReplaceAll ' заменить во всех найденных
End Sub
[/vba]
Формат текста выделения не калечится даже в таблицах (с которыми Ворд вообще не дружит)!
Осталось дополнить его убиранием лидирующих и финишных пробелов.
А ещё бы, кто-нибудь подсказал паттерн для удаления пробелов перед знаками припинания...
Список-то я составил: [.,:;\!\?\)] (к стати, а как в перечисление добавить неразрывный пробел и многоточие?), а вот как его применить?

Володя,
Trebuchet MS мне на вид тоже понравился, но он к сожалению не моноширинный sad



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


Сообщение отредактировал Alex_ST - Пятница, 16.12.2011, 11:59
 
Ответить
СообщениеПривет, народ!
Я тут умудрился-таки, вооружившись макрорекордером и пошарив по примерам и справкам сети, состряпать макрос для Word, удаляющий многократные пробелы в тексте.
Оказалось, что в окне "Найти и заменить" можно использовать шаблоны, очень похожие на шаблоны регулярных выражений ( ; в паттерне вместо запятой)
Вот что получилось:[vba]
Код
Sub WDDeleteSpace() ' макрос Word для "Убрать многократные пробелы"
      With Selection.Find
         .Text = "[ ]{2;}" ' найти в Selection 2 и более пробелов
         .Replacement.Text = " "
         .Wrap = wdFindStop ' выполнить только в Selection и не предлагать после этого искать во всём документе
      End With
      Selection.Find.Execute Replace:=wdReplaceAll ' заменить во всех найденных
End Sub
[/vba]
Формат текста выделения не калечится даже в таблицах (с которыми Ворд вообще не дружит)!
Осталось дополнить его убиранием лидирующих и финишных пробелов.
А ещё бы, кто-нибудь подсказал паттерн для удаления пробелов перед знаками припинания...
Список-то я составил: [.,:;\!\?\)] (к стати, а как в перечисление добавить неразрывный пробел и многоточие?), а вот как его применить?

Володя,
Trebuchet MS мне на вид тоже понравился, но он к сожалению не моноширинный sad

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

Лёш, привет!
Цитата (Alex_ST)
добавить неразрывный пробел и многоточие?
[vba]
Код
.Text = "[.,:;\!\?\)" & Chr(133) & Chr(160) & "]"
[/vba]
Цитата (Alex_ST)
паттерн для удаления пробелов перед знаками припинания
написать-то не сложно (с использованием позитивного просмотра вперед - см. лист, посвященный SubMatches), но беда в том, что этот механизм отсутствует в поиске Word...
Лёш, ты бы все-таки сбросил ну маленький кусочек документа - того, что коверкается регулярными выражениями
Что-то не так...

Кажется, все-таки можно обойтись без просмотра вперед... для этого надо в Worde составить шаблон поиска с подвыражениями в круглых скобках: (здесь записать шаблон пробелов)(здесь записать шаблон знаков препинания)
и применить такой шаблон замены: \2


Trebuchet MS я подсмотрел как раз на одной из страничек с примерами шаблонов.
Моноширинность желательна, но не критически важна


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

Сообщение отредактировал v__step - Пятница, 16.12.2011, 13:25
 
Ответить
СообщениеЛёш, привет!
Цитата (Alex_ST)
добавить неразрывный пробел и многоточие?
[vba]
Код
.Text = "[.,:;\!\?\)" & Chr(133) & Chr(160) & "]"
[/vba]
Цитата (Alex_ST)
паттерн для удаления пробелов перед знаками припинания
написать-то не сложно (с использованием позитивного просмотра вперед - см. лист, посвященный SubMatches), но беда в том, что этот механизм отсутствует в поиске Word...
Лёш, ты бы все-таки сбросил ну маленький кусочек документа - того, что коверкается регулярными выражениями
Что-то не так...

Кажется, все-таки можно обойтись без просмотра вперед... для этого надо в Worde составить шаблон поиска с подвыражениями в круглых скобках: (здесь записать шаблон пробелов)(здесь записать шаблон знаков препинания)
и применить такой шаблон замены: \2


Trebuchet MS я подсмотрел как раз на одной из страничек с примерами шаблонов.
Моноширинность желательна, но не критически важна

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

2003
Володя,
зачем тебе Вордовый документ-пример, в котором вчера не работал макрос, если я в 11:57 сегодня привёл текст работающего макроса?
[vba]
Код
Sub WDDeleteSpace()   ' макрос Word для "Убрать многократные пробелы"
     With Selection.Find
        .MatchWildcards = True ' разрешить подстановочные знаки при поиске
        .Text = "[ ]{2;}"   ' найти в Selection 2 и более пробелов
        .Replacement.Text = " " ' заменять на пробел
        .Wrap = wdFindStop   ' выполнить только в Selection и не предлагать после этого искать во всём документе
        .Execute Replace:=wdReplaceAll   ' заменить во всех найденных
     End With
End Sub
[/vba]
А SubMatches а Ворде работают. Вот я ещё один полезный макрос наковырял/шлифанул:
[vba]
Код
Sub WDDelSpacePunktMark()   ' макрос Word для "Убрать пробелы перед знаками препинания"
     With Selection.Find
        .MatchWildcards = True ' разрешить подстановочные знаки при поиске
        .Text = "[ ]{1;}([.,:;\!\?\)" & Chr(133) & "])"   ' найти в Selection 1 и более пробелов перед знаками препинания
        .Replacement.Text = "\1" ' заменять на соответствующий символ из SubMatches (порядковый номер символа в круглых скобках)
        .Wrap = wdFindStop   ' выполнить только в Selection и не предлагать после этого искать во всём документе
        .Execute Replace:=wdReplaceAll   ' заменить во всех найденных
     End With
End Sub
[/vba]
Но если уж очень хочешь, то лови пример.
К сообщению приложен файл: MS_Word_Macros.zip (13.0 Kb)



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеВолодя,
зачем тебе Вордовый документ-пример, в котором вчера не работал макрос, если я в 11:57 сегодня привёл текст работающего макроса?
[vba]
Код
Sub WDDeleteSpace()   ' макрос Word для "Убрать многократные пробелы"
     With Selection.Find
        .MatchWildcards = True ' разрешить подстановочные знаки при поиске
        .Text = "[ ]{2;}"   ' найти в Selection 2 и более пробелов
        .Replacement.Text = " " ' заменять на пробел
        .Wrap = wdFindStop   ' выполнить только в Selection и не предлагать после этого искать во всём документе
        .Execute Replace:=wdReplaceAll   ' заменить во всех найденных
     End With
End Sub
[/vba]
А SubMatches а Ворде работают. Вот я ещё один полезный макрос наковырял/шлифанул:
[vba]
Код
Sub WDDelSpacePunktMark()   ' макрос Word для "Убрать пробелы перед знаками препинания"
     With Selection.Find
        .MatchWildcards = True ' разрешить подстановочные знаки при поиске
        .Text = "[ ]{1;}([.,:;\!\?\)" & Chr(133) & "])"   ' найти в Selection 1 и более пробелов перед знаками препинания
        .Replacement.Text = "\1" ' заменять на соответствующий символ из SubMatches (порядковый номер символа в круглых скобках)
        .Wrap = wdFindStop   ' выполнить только в Selection и не предлагать после этого искать во всём документе
        .Execute Replace:=wdReplaceAll   ' заменить во всех найденных
     End With
End Sub
[/vba]
Но если уж очень хочешь, то лови пример.

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

Вот ты и познакомился с подвыражениями (SubMatches)

Последний шаблон поиска, конечно, лучше моего, т.к. в нем одно подвыражение
У меня их два - сложней, но для обучения интересней
Они дали команду поисковику оставить после замены только первое подвыражение, а я второе - результат будет одинаковый

А неразрывный пробел Chr(160) обидели - забыли, забросили, бедный он, несчастный sad
Вообще говоря, это не все - в Word много непечатных знаков.

Ты решил задачу очень хорошо, так и надо было сделать.
К примеру интерес другого рода... и отдельное спасибо


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

Сообщение отредактировал v__step - Пятница, 16.12.2011, 16:09
 
Ответить
СообщениеВот ты и познакомился с подвыражениями (SubMatches)

Последний шаблон поиска, конечно, лучше моего, т.к. в нем одно подвыражение
У меня их два - сложней, но для обучения интересней
Они дали команду поисковику оставить после замены только первое подвыражение, а я второе - результат будет одинаковый

А неразрывный пробел Chr(160) обидели - забыли, забросили, бедный он, несчастный sad
Вообще говоря, это не все - в Word много непечатных знаков.

Ты решил задачу очень хорошо, так и надо было сделать.
К примеру интерес другого рода... и отдельное спасибо

Автор - v__step
Дата добавления - 16.12.2011 в 16:06
nerv Дата: Пятница, 16.12.2011, 16:39 | Сообщение № 88
Группа: Редакторы
Ранг: Обитатель
Сообщений: 431
Репутация: 193 ±
Замечаний: 0% ±

Регулярные выражения, 3-е издание

читать, не перечитать wink


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


YM 41001156540584 / WM WMR R21924176233

https://github.com/nervgh/vba
 
Ответить
СообщениеРегулярные выражения, 3-е издание

читать, не перечитать wink

Автор - nerv
Дата добавления - 16.12.2011 в 16:39
Alex_ST Дата: Пятница, 16.12.2011, 21:23 | Сообщение № 89
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
nerv,
ОГРОМНОЕ СПАСИБО!
Отличная не только по содержанию, но и по качеству сканирования и обработки книга!
Мало того, что PDF с OCR'ом, так ещё и со структурой закладок! ВЕЩЬ! (А как я с год назад "Уокенбаха", у которого не было структуры, намучился редактировать... Кошмар!).
Серёга, это надо в библиотеку класть обязательно. Ведь не все могут с торрента качнуть
(я сам качнул и выложил это на Минусе кому надо, качайте)



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


Сообщение отредактировал Alex_ST - Пятница, 16.12.2011, 22:20
 
Ответить
Сообщениеnerv,
ОГРОМНОЕ СПАСИБО!
Отличная не только по содержанию, но и по качеству сканирования и обработки книга!
Мало того, что PDF с OCR'ом, так ещё и со структурой закладок! ВЕЩЬ! (А как я с год назад "Уокенбаха", у которого не было структуры, намучился редактировать... Кошмар!).
Серёга, это надо в библиотеку класть обязательно. Ведь не все могут с торрента качнуть
(я сам качнул и выложил это на Минусе кому надо, качайте)

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

Открыл MsWordMacros.doc, и все понял. Дурак я старый! Конечно, обычные регулярные выражения здесь ничего не дадут. Получается так, что им для демонстрации силы нужен весь текст (ну и жадные создания). Хорошо, отдам я им весь текст, вернут они результаты непосильных трудов в виде отредактированной строки, а мне-то что с ней делать? Ведь форматирование было начисто забыто! Как это все богатство вернуть назад в форматированный документ?!!

А Word-RegExp будут работать с живым, настоящим текстом, бережно сохраняя форматирование каждой буковки, значит они мощнее!
Теперь получается так, что пока ты двигался в правильном направлении, я старательно тянул вбок...

Лёша, это было здорово! Ты открыл новую тему, и твой инструмент во многих случаях будет незаменим. Отдельное спасибо за урок!


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

Сообщение отредактировал v__step - Пятница, 16.12.2011, 23:48
 
Ответить
СообщениеОткрыл MsWordMacros.doc, и все понял. Дурак я старый! Конечно, обычные регулярные выражения здесь ничего не дадут. Получается так, что им для демонстрации силы нужен весь текст (ну и жадные создания). Хорошо, отдам я им весь текст, вернут они результаты непосильных трудов в виде отредактированной строки, а мне-то что с ней делать? Ведь форматирование было начисто забыто! Как это все богатство вернуть назад в форматированный документ?!!

А Word-RegExp будут работать с живым, настоящим текстом, бережно сохраняя форматирование каждой буковки, значит они мощнее!
Теперь получается так, что пока ты двигался в правильном направлении, я старательно тянул вбок...

Лёша, это было здорово! Ты открыл новую тему, и твой инструмент во многих случаях будет незаменим. Отдельное спасибо за урок!

Автор - v__step
Дата добавления - 16.12.2011 в 23:31
Alex_ST Дата: Суббота, 17.12.2011, 10:33 | Сообщение № 91
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
Володя,
с добрым утром!
Я рад что ты заценил-таки результаты моих потуг запрограммировать Ворд, но вообще-то по отношению ко всему форуму это явный оффтоп.
А Серж нас не ругает за это, наверное, только потому, что последние посты всё-таки явно относятся к теме топика - RegExp, которые сами, честно говоря, представляя из себя средство обработки текстов, являются оффтопом в форуме про электронные таблицы biggrin
Серж,
а может немного расширить тематику форума, добавив ветку VBA-программирования других приложений?
Тогда там уже можно будет завести абсолютно законные разделы по программированию Word, Visio, Access, Power Point, Corel Draw, … да и вообще любых приложений, знающих Бэйсик?



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеВолодя,
с добрым утром!
Я рад что ты заценил-таки результаты моих потуг запрограммировать Ворд, но вообще-то по отношению ко всему форуму это явный оффтоп.
А Серж нас не ругает за это, наверное, только потому, что последние посты всё-таки явно относятся к теме топика - RegExp, которые сами, честно говоря, представляя из себя средство обработки текстов, являются оффтопом в форуме про электронные таблицы biggrin
Серж,
а может немного расширить тематику форума, добавив ветку VBA-программирования других приложений?
Тогда там уже можно будет завести абсолютно законные разделы по программированию Word, Visio, Access, Power Point, Corel Draw, … да и вообще любых приложений, знающих Бэйсик?

Автор - Alex_ST
Дата добавления - 17.12.2011 в 10:33
Serge_007 Дата: Суббота, 17.12.2011, 11:12 | Сообщение № 92
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (Alex_ST)
а может немного расширить тематику форума, добавив ветку VBA-программирования других приложений?

Если ты помнишь, был, да и сейчас есть, только скрытый, отдельный форум "Не Excel". Скрыл я его, потому как активность на нём была нулевая.


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (Alex_ST)
а может немного расширить тематику форума, добавив ветку VBA-программирования других приложений?

Если ты помнишь, был, да и сейчас есть, только скрытый, отдельный форум "Не Excel". Скрыл я его, потому как активность на нём была нулевая.

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

По-моему, чистых тем не бывает. Часто просто необходимо хоть немного отвлечься, чтобы выйти на прямой результат smile
Яркий пример - последний Лёшин заход на Word-RegExp. Нет ничего забавнее моих настойчивых просьб посмотреть файл вживую. Я его открыл только для того, чтобы понять, что мог не открывать. biggrin Одного только эмоционального заряда хватило, чтобы прозреть слепцу и увидеть, какую золотую рыбку Лёша поймал.:)


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

Сообщение отредактировал v__step - Воскресенье, 18.12.2011, 09:52
 
Ответить
СообщениеПо-моему, чистых тем не бывает. Часто просто необходимо хоть немного отвлечься, чтобы выйти на прямой результат smile
Яркий пример - последний Лёшин заход на Word-RegExp. Нет ничего забавнее моих настойчивых просьб посмотреть файл вживую. Я его открыл только для того, чтобы понять, что мог не открывать. biggrin Одного только эмоционального заряда хватило, чтобы прозреть слепцу и увидеть, какую золотую рыбку Лёша поймал.:)

Автор - v__step
Дата добавления - 17.12.2011 в 16:54
Alex_ST Дата: Суббота, 17.12.2011, 20:43 | Сообщение № 94
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
Quote (Serge_007)
Если ты помнишь, был, да и сейчас есть, только скрытый, отдельный форум "Не Excel". Скрыл я его, потому как активность на нём была нулевая.

Чтобы не флудить, ответил в топике "Вопросы по работе форумов"



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщение
Quote (Serge_007)
Если ты помнишь, был, да и сейчас есть, только скрытый, отдельный форум "Не Excel". Скрыл я его, потому как активность на нём была нулевая.

Чтобы не флудить, ответил в топике "Вопросы по работе форумов"

Автор - Alex_ST
Дата добавления - 17.12.2011 в 20:43
Alex_ST Дата: Суббота, 17.12.2011, 22:23 | Сообщение № 95
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
Quote (v__step)
Открыл MsWordMacros.doc, и все понял. … Конечно, обычные регулярные выражения здесь ничего не дадут.

Quote (v__step)
Я его открыл только для того, чтобы понять, что мог не открывать

shock eek
Я не понял, Володя, твой аккаунт что ли ломанули и что-то одно из двух - не от тебя?
Или с момента Пятница, Вчера, 23:31 до Суббота, Сегодня, 16:54 ты кардинально поменял своё мнение?
Quote (v__step)
а что если добавить еще 1 листик в нашу книгу

может, сначала доделаем то, что уже почти готово, а потом будем добавлять-расширять?
Между прочим, Володя, я так до сих пор и не увидел давно обещанные тобой исправленные и доработанные листы с описаниями метасимволов и тестерами. Поэтому несколько затормозилась моя доработка листа с описанием объекта RegExp (там есть несколько моментов, которые я не могу описать понятно, т.к. сам не до конца понимаю и надеюсь понять на твоих примерах)



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщение
Quote (v__step)
Открыл MsWordMacros.doc, и все понял. … Конечно, обычные регулярные выражения здесь ничего не дадут.

Quote (v__step)
Я его открыл только для того, чтобы понять, что мог не открывать

shock eek
Я не понял, Володя, твой аккаунт что ли ломанули и что-то одно из двух - не от тебя?
Или с момента Пятница, Вчера, 23:31 до Суббота, Сегодня, 16:54 ты кардинально поменял своё мнение?
Quote (v__step)
а что если добавить еще 1 листик в нашу книгу

может, сначала доделаем то, что уже почти готово, а потом будем добавлять-расширять?
Между прочим, Володя, я так до сих пор и не увидел давно обещанные тобой исправленные и доработанные листы с описаниями метасимволов и тестерами. Поэтому несколько затормозилась моя доработка листа с описанием объекта RegExp (там есть несколько моментов, которые я не могу описать понятно, т.к. сам не до конца понимаю и надеюсь понять на твоих примерах)

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

Я убрал из своего предыдущего поста (из головы тоже) все, что относится к нечеткому поиску, заменил слово "он" на "Лёша", чтобы было абсолютно однозначно, и выделил ключевую мысль. Сейчас вроде бы все понятно. Я не менял свое мнение, а только укрепил его
Лёш, извини, если я тебя чем-то обидел
Давай, спишем недостатки на общую затурканность
Я вынужден работать после работы и по выходным.

Сегодня на мне проверочные расчеты мостов американских кранов, которые будут разбирать укрытие над четвертым блоком Чернобыльской станции. От начала работы до конца 14 дней. Без помощи Excel не обойтись.
Пожелай мне удачи!
Если выживу, продолжим в более спокойном режиме


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

Сообщение отредактировал v__step - Воскресенье, 18.12.2011, 10:22
 
Ответить
СообщениеЯ убрал из своего предыдущего поста (из головы тоже) все, что относится к нечеткому поиску, заменил слово "он" на "Лёша", чтобы было абсолютно однозначно, и выделил ключевую мысль. Сейчас вроде бы все понятно. Я не менял свое мнение, а только укрепил его
Лёш, извини, если я тебя чем-то обидел
Давай, спишем недостатки на общую затурканность
Я вынужден работать после работы и по выходным.

Сегодня на мне проверочные расчеты мостов американских кранов, которые будут разбирать укрытие над четвертым блоком Чернобыльской станции. От начала работы до конца 14 дней. Без помощи Excel не обойтись.
Пожелай мне удачи!
Если выживу, продолжим в более спокойном режиме

Автор - v__step
Дата добавления - 17.12.2011 в 23:24
KuklP Дата: Воскресенье, 18.12.2011, 10:30 | Сообщение № 97
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Цитата (Alex_ST)
Sub WDDeleteSpace()   ' макрос Word для "Убрать многократные пробелы"     With Selection.Find        .MatchWildcards = True ' разрешить подстановочные знаки при поиске        .Text = "[ ]{2;}"   ' найти в Selection 2 и более пробелов        .Replacement.Text = " " ' заменять на пробел        .Wrap = wdFindStop   ' выполнить только в Selection и не предлагать после этого искать во всём документе        .Execute Replace:=wdReplaceAll   ' заменить во всех найденных     End With End Sub
Леш можно еще так:
[vba]
Код
    With Selection.Find
          .Text = "^w"
          .Replacement.Text = " "
          .Execute 2
      End With
[/vba]


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Воскресенье, 18.12.2011, 10:35
 
Ответить
Сообщение
Цитата (Alex_ST)
Sub WDDeleteSpace()   ' макрос Word для "Убрать многократные пробелы"     With Selection.Find        .MatchWildcards = True ' разрешить подстановочные знаки при поиске        .Text = "[ ]{2;}"   ' найти в Selection 2 и более пробелов        .Replacement.Text = " " ' заменять на пробел        .Wrap = wdFindStop   ' выполнить только в Selection и не предлагать после этого искать во всём документе        .Execute Replace:=wdReplaceAll   ' заменить во всех найденных     End With End Sub
Леш можно еще так:
[vba]
Код
    With Selection.Find
          .Text = "^w"
          .Replacement.Text = " "
          .Execute 2
      End With
[/vba]

Автор - KuklP
Дата добавления - 18.12.2011 в 10:30
Alex_ST Дата: Воскресенье, 18.12.2011, 12:52 | Сообщение № 98
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
Цитата (KuklP)
Леш можно еще так:[vba]
Код
    With Selection.Find
           .Text = "^w"
           .Replacement.Text = " "
           .Execute 2
       End With
[/vba]

Привет, Серёга!
Что-то у меня не работает... Может, я что-то не так написАл?[vba]
Код
Sub WDAppTrim()
      With Selection.Find
           .Text = "^w"
           .Replacement.Text = " "
           .Execute 2
       End With
End Sub
[/vba]
Вообще никакой реакции... sad



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщение
Цитата (KuklP)
Леш можно еще так:[vba]
Код
    With Selection.Find
           .Text = "^w"
           .Replacement.Text = " "
           .Execute 2
       End With
[/vba]

Привет, Серёга!
Что-то у меня не работает... Может, я что-то не так написАл?[vba]
Код
Sub WDAppTrim()
      With Selection.Find
           .Text = "^w"
           .Replacement.Text = " "
           .Execute 2
       End With
End Sub
[/vba]
Вообще никакой реакции... sad

Автор - Alex_ST
Дата добавления - 18.12.2011 в 12:52
KuklP Дата: Воскресенье, 18.12.2011, 14:15 | Сообщение № 99
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Ну да, мой косяк. Надо:
[vba]
Код
.Execute Replace:=wdReplaceAll
[/vba]
или
[vba]
Код
.Execute , , , , , , , , , , 2
[/vba]
Но по мне лучше так:
[vba]
Код
Sub WDAppTrim():Selection.Find.Execute "^w", , , , , , , , , " ", 2:End Sub
[/vba]


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Воскресенье, 18.12.2011, 14:22
 
Ответить
СообщениеНу да, мой косяк. Надо:
[vba]
Код
.Execute Replace:=wdReplaceAll
[/vba]
или
[vba]
Код
.Execute , , , , , , , , , , 2
[/vba]
Но по мне лучше так:
[vba]
Код
Sub WDAppTrim():Selection.Find.Execute "^w", , , , , , , , , " ", 2:End Sub
[/vba]

Автор - KuklP
Дата добавления - 18.12.2011 в 14:15
Alex_ST Дата: Воскресенье, 18.12.2011, 19:44 | Сообщение № 100
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
Ну вот, как всегда... Мы тут бьёмся, коды пишем многострочные, а потом приходит Серёга и всю нашу фигню сокращает до одной строки:
Цитата (KuklP)
Но по мне лучше так:[vba]
Код
Sub WDAppTrim():Selection.Find.Execute "^w", , , , , , , , , " ", 2:End Sub
[/vba]

Серёга, я всегда знал, что ты круче варёных яиц и лаконичнее сфинкса!

А может, ты ещё и знаешь, как так же легко убрать лидирующие и финишные пробелы?
А пробелы перед знаками препинания?



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеНу вот, как всегда... Мы тут бьёмся, коды пишем многострочные, а потом приходит Серёга и всю нашу фигню сокращает до одной строки:
Цитата (KuklP)
Но по мне лучше так:[vba]
Код
Sub WDAppTrim():Selection.Find.Execute "^w", , , , , , , , , " ", 2:End Sub
[/vba]

Серёга, я всегда знал, что ты круче варёных яиц и лаконичнее сфинкса!

А может, ты ещё и знаешь, как так же легко убрать лидирующие и финишные пробелы?
А пробелы перед знаками препинания?

Автор - Alex_ST
Дата добавления - 18.12.2011 в 19:44
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Поговорим про RegExp? (Подготовка для топика FAQ по RegExp в Готовых решениях)
Поиск:

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