По поводу псевдо-оффтопа: Серж, прости! Завтра всё потестирую на разных документах, дополирую в меру способностей и в специальную ветку положу. (Серёга же оформлять жуть как не любит:) )
По поводу псевдо-оффтопа: Серж, прости! Завтра всё потестирую на разных документах, дополирую в меру способностей и в специальную ветку положу. (Серёга же оформлять жуть как не любит:) )Alex_ST
С уважением, Алексей MS Excel 2003 - the best!!!
Сообщение отредактировал Alex_ST - Воскресенье, 18.12.2011, 22:29
Иногда попадаются ТАКИЕ документы Word, что хочется плакать
Да с того и начался маленький оффтопчик, что я в Excel'e-то научился за "знатоками" "оформление" текста в ячейках пробелами удалять, а в Ворде - нет. Завтра потестирую Серёгин код! Вот будет кайф документы причёсывать!
Quote (VictorM)
Иногда попадаются ТАКИЕ документы Word, что хочется плакать
Да с того и начался маленький оффтопчик, что я в Excel'e-то научился за "знатоками" "оформление" текста в ячейках пробелами удалять, а в Ворде - нет. Завтра потестирую Серёгин код! Вот будет кайф документы причёсывать!Alex_ST
Леша, это не кракозябры. Это буквы украинского языка:-)
Извини, Серёга, Я сам это понял ещё вчера, но только уже когда комп загасил и спать улёгся... Просто и-нет настолько сближает, что забываешь, что товарищ может находиться не рядом, а в другой стране с другим языком... Ссылки сейчас посмотрю. Спасибо. Правда, ссылка на script-coding у меня в каждом из примеров в ячейке А1, но остальные пока не видел.
Quote (KuklP)
Леша, это не кракозябры. Это буквы украинского языка:-)
Извини, Серёга, Я сам это понял ещё вчера, но только уже когда комп загасил и спать улёгся... Просто и-нет настолько сближает, что забываешь, что товарищ может находиться не рядом, а в другой стране с другим языком... Ссылки сейчас посмотрю. Спасибо. Правда, ссылка на script-coding у меня в каждом из примеров в ячейке А1, но остальные пока не видел.Alex_ST
Первые результаты тестирования: 1. Как я и предполагал, Selection.Text = Trim(Selection.Text) калечит формат абзаца
2 Ни в какой Справке не нашёл разбора задания параметров для Execute текстовой строкой Поэтому что означает "([а-я,ієї0-9)])^0013([!А-ЯІЄЇ])", , , , , , , , , "\1 \2", 2 понять не могу... А пользоваться тем, что не понимаю как работает, ужасно не люблю...
Серёга, ну хоть краткие комменты к коду напиши:[vba]
[/vba] Сам разобрался. И неожиданно "наступил на грабли", о которых предупреждал Володя: ВДРУГ перестало работать ^w… С утра всё работало отлично, а теперь вдруг стало выдавать Run-time error '5692' А когда заменяю ^w на [ ]{2;} всё начинает работать нормально
Первые результаты тестирования: 1. Как я и предполагал, Selection.Text = Trim(Selection.Text) калечит формат абзаца
2 Ни в какой Справке не нашёл разбора задания параметров для Execute текстовой строкой Поэтому что означает "([а-я,ієї0-9)])^0013([!А-ЯІЄЇ])", , , , , , , , , "\1 \2", 2 понять не могу... А пользоваться тем, что не понимаю как работает, ужасно не люблю...
Серёга, ну хоть краткие комменты к коду напиши:[vba]
[/vba] Сам разобрался. И неожиданно "наступил на грабли", о которых предупреждал Володя: ВДРУГ перестало работать ^w… С утра всё работало отлично, а теперь вдруг стало выдавать Run-time error '5692' А когда заменяю ^w на [ ]{2;} всё начинает работать нормальноAlex_ST
То-то и оно, что это я проверил в первую очередь... [vba]
Код
Sub WDAppTrim(): Selection.Find.Execute "^w", , , , , , , , , " ", 2: End Sub
[/vba] даёт ошибку. А после тупой замены "^w" на "[ ]{2;}" [vba]
Код
Sub WDAppTrim2(): Selection.Find.Execute "[ ]{2;}", , , , , , , , , " ", 2: End Sub
[/vba] начинает работать
При этом самое странное, что вчера вечером дома и здесь на работе с утра работало. А потом вдруг перестало! Ворд я на всякий случай перегружал. Комп - нет...
Можно было бы и плюнуть, конечно, но, я так понял, что "^w" в отличие от "[ ]{2;}" отлавливает ещё и неразрывные пробелы и в любом порядке смеси с обычными... А это сильно облегчило бы жизнь.
Цитата (KuklP)
Мож ты с форматом накосячил?
То-то и оно, что это я проверил в первую очередь... [vba]
Код
Sub WDAppTrim(): Selection.Find.Execute "^w", , , , , , , , , " ", 2: End Sub
[/vba] даёт ошибку. А после тупой замены "^w" на "[ ]{2;}" [vba]
Код
Sub WDAppTrim2(): Selection.Find.Execute "[ ]{2;}", , , , , , , , , " ", 2: End Sub
[/vba] начинает работать
При этом самое странное, что вчера вечером дома и здесь на работе с утра работало. А потом вдруг перестало! Ворд я на всякий случай перегружал. Комп - нет...
Можно было бы и плюнуть, конечно, но, я так понял, что "^w" в отличие от "[ ]{2;}" отлавливает ещё и неразрывные пробелы и в любом порядке смеси с обычными... А это сильно облегчило бы жизнь.Alex_ST
С уважением, Алексей MS Excel 2003 - the best!!!
Сообщение отредактировал Alex_ST - Понедельник, 19.12.2011, 12:55
Во! Так заработало! Значит, нельзя доверять установкам гулек по умолчанию! И, к стати, поэтому я не очень люблю запись аргументов по перечислению (через запятую). Хоть код получается и намного короче, но читабельность его при большом числе аргументов снижается катастрофически.
Во! Так заработало! Значит, нельзя доверять установкам гулек по умолчанию! И, к стати, поэтому я не очень люблю запись аргументов по перечислению (через запятую). Хоть код получается и намного короче, но читабельность его при большом числе аргументов снижается катастрофически.Alex_ST
А я наоборот. От нагромождения констант только путаюсь. Если хотца узнать параметры, поставь еще пробел после любой запятой и стрелками передвигайся по параметрам. См. скрин.
А я наоборот. От нагромождения констант только путаюсь. Если хотца узнать параметры, поставь еще пробел после любой запятой и стрелками передвигайся по параметрам. См. скрин.KuklP
Во, блин! На счёт пробела я не знал... Ставил открывающую скобку перед списком аргументов. А её потом ещё и убирать нужно было... Так как ты подсказал, проще - меньше мышкодвижений.
Во, блин! На счёт пробела я не знал... Ставил открывающую скобку перед списком аргументов. А её потом ещё и убирать нужно было... Так как ты подсказал, проще - меньше мышкодвижений.Alex_ST
И ещё: может быть лучше для наглядности вывода перечислять Matches на через ";", а через "|" ? Или вообще, как мы с тобой говорили раньше, не задавать жёстко [vba]
Код
Optional Разделитель As String = ";"
[/vba], а задать его значение в текстбоксе, ячейке или имени?
И в метасимволах надо подправить: "\s - любой пробельный символ кроме неразрывных пробелов, включая табуляцию, перевод строки, возврат каретки, перевод страницы. Эквивалентно [ \f\n\r\t\v] \S - любые ВИДИМЫЕ символы и неразрывные пробелы (любой непробельный символ). Эквивалентно [^ \f\n\r\t\v]"
А чтобы пробелы было видно в ячейках столбца С листа Matches, удобно применить УФ по условию <>"" - светло-какой-нибудь.
Володя, в своём тестере в Public Sub HighlightMatches() раскомментируй строку [vba]
И ещё: может быть лучше для наглядности вывода перечислять Matches на через ";", а через "|" ? Или вообще, как мы с тобой говорили раньше, не задавать жёстко [vba]
Код
Optional Разделитель As String = ";"
[/vba], а задать его значение в текстбоксе, ячейке или имени?
И в метасимволах надо подправить: "\s - любой пробельный символ кроме неразрывных пробелов, включая табуляцию, перевод строки, возврат каретки, перевод страницы. Эквивалентно [ \f\n\r\t\v] \S - любые ВИДИМЫЕ символы и неразрывные пробелы (любой непробельный символ). Эквивалентно [^ \f\n\r\t\v]"
А чтобы пробелы было видно в ячейках столбца С листа Matches, удобно применить УФ по условию <>"" - светло-какой-нибудь.Alex_ST
С уважением, Алексей MS Excel 2003 - the best!!!
Сообщение отредактировал Alex_ST - Понедельник, 19.12.2011, 15:37
До VBA не добрался, но добавил примеры и отредактировал текст на листе "Метасимволы+" (в т.ч. протестировал восьмеричные, шестнадцатиричные и юни коды, и оставил только то, что работает) Cейчас это важнее
С утра проверил и добавил фразы о нераразрывных пробелах
До VBA не добрался, но добавил примеры и отредактировал текст на листе "Метасимволы+" (в т.ч. протестировал восьмеричные, шестнадцатиричные и юни коды, и оставил только то, что работает) Cейчас это важнее
С утра проверил и добавил фразы о нераразрывных пробелахv__step