|
|
|
есть ли такая функция
|
|||
|---|---|---|---|
|
#18+
Люди! Кто-нибудь знает, есть функция наподобие LPAD или RPAD для SQL, только для VB ? Увы, справочные материалы под рукой отсутствуют. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2006, 15:49:54 |
|
||
|
есть ли такая функция
|
|||
|---|---|---|---|
|
#18+
Стандартную не видел, но самому нетрудно написать. Вот, к примеру, мой вариант реализации для Delphi 5: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2006, 16:06:37 |
|
||
|
есть ли такая функция
|
|||
|---|---|---|---|
|
#18+
При реализации в VBA вместо паскалевой Copy можно использовать функцию Mid(string, start[, length]), известную еще с ранних бейсиков ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2006, 16:09:04 |
|
||
|
есть ли такая функция
|
|||
|---|---|---|---|
|
#18+
Ну наверное можно и так, хотя хотелось бы "обогатится" в знании VB. По-любому спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2006, 16:11:40 |
|
||
|
есть ли такая функция
|
|||
|---|---|---|---|
|
#18+
Насколько ублюдская справка в VBA... даже список всех функций работы со строками толком не найдешь. Имеются LTrim(string), RTrim(string), Trim(string), но в отличие от большинства SQLей тримят только пробелы. String(number, character) - повторяет character заданное число раз, но только - один символ. В общем, встроенных функций негусто... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2006, 16:21:15 |
|
||
|
есть ли такая функция
|
|||
|---|---|---|---|
|
#18+
Я бы сделал так: Код: plaintext 1. 2. KL [MVP - Microsoft Excel] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2006, 16:38:51 |
|
||
|
есть ли такая функция
|
|||
|---|---|---|---|
|
#18+
KL (XL)Я бы сделал так: Код: plaintext 1. 2. KL [MVP - Microsoft Excel] Элегантно, только функция String не работает с паттернами из нескольких символов (по крайней мере в OfficXP). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2006, 17:02:04 |
|
||
|
есть ли такая функция
|
|||
|---|---|---|---|
|
#18+
Кроме того, в SQL разных СУБД функции LPAD/RPAD тоже реализованы по-разному. К примеру, в Oracle, если длина исходной строки S больше чем требуемое число символов в результирующей строке Len, то производится усечение исходной строки до Len символов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2006, 17:04:25 |
|
||
|
есть ли такая функция
|
|||
|---|---|---|---|
|
#18+
A.K.Кроме того, в SQL разных СУБД функции LPAD/RPAD тоже реализованы по-разному. К примеру, в Oracle, если длина исходной строки S больше чем требуемое число символов в результирующей строке Len, то производится усечение исходной строки до Len символов. Ну это уж вообще элементарно решается: Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2006, 18:07:21 |
|
||
|
есть ли такая функция
|
|||
|---|---|---|---|
|
#18+
White OwlFunction LPAD(ByVal txt As String, sep As String, lng As Single) LPAD = Right(String(lng, sep) & txt, lng) End FunctionКрасиво! Ну и добавим возможность использовать паттерны из нескольких символов: Код: plaintext 1. 2. KL [MVP - Microsoft Excel] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2006, 18:43:00 |
|
||
|
есть ли такая функция
|
|||
|---|---|---|---|
|
#18+
Пардон - случайно задекларировал lng как Double :-( Код: plaintext 1. 2. KL [MVP - Microsoft Excel] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2006, 18:45:48 |
|
||
|
есть ли такая функция
|
|||
|---|---|---|---|
|
#18+
Функция Rept взята из Excel, т.ч. из др. приложений или VB нужно будет специально указывать, что Application это Excel :-) KL [MVP - Microsoft Excel] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2006, 20:07:34 |
|
||
|
есть ли такая функция
|
|||
|---|---|---|---|
|
#18+
Да, решение теперь стало не только элегантным но и функциональным! Только вопрос небольшой: в какой версии Excel появилась Application.Rept ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2006, 12:32:28 |
|
||
|
есть ли такая функция
|
|||
|---|---|---|---|
|
#18+
A.K.Да, решение теперь стало не только элегантным но и функциональным! Только вопрос небольшой: в какой версии Excel появилась Application.Rept ?Не помню, но по-моему в Excel 97 уже была. Эта функция листа, а не VBA. Поэтому при использовании из др. приложений или VB и нужно прибегать к раннему привязыванию (Early Binding), т.е.: 1) установить ссылку в Tools-References... на Microsoft Excel x.x Object Library (где x.x - версия) 2) использовать функцию в таком виде: Код: plaintext 1. 2. KL [MVP - Microsoft Excel] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2006, 13:56:27 |
|
||
|
есть ли такая функция
|
|||
|---|---|---|---|
|
#18+
KL (XL)Не помню, но по-моему в Excel 97 уже была. Эта функция листа, а не VBA. Поэтому при использовании из др. приложений или VB и нужно прибегать к раннему привязыванию (Early Binding), т.е.: 1) установить ссылку в Tools-References... на Microsoft Excel x.x Object Library (где x.x - версия) 2) использовать функцию в таком виде: Код: plaintext 1. 2. Все, разобрался. Но не знаю как в других версиях, а у меня это работает только через класс WorksheetFunction (Excel 2002): Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2006, 14:58:30 |
|
||
|
есть ли такая функция
|
|||
|---|---|---|---|
|
#18+
A.K.Напрямую, как у вас - у Application нет такого метода в Excel 2002. Есть точно , но не очевидно . При наборе "Application." функции как свойства не выпадают, но работать должны . KL [MVP - Microsoft Excel] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2006, 15:17:48 |
|
||
|
есть ли такая функция
|
|||
|---|---|---|---|
|
#18+
Гляди-ка, и правда! Чудный язык VBA... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2006, 15:25:40 |
|
||
|
есть ли такая функция
|
|||
|---|---|---|---|
|
#18+
Вот еще немного инф-ции: http://tinyurl.com/l5fou Я думаю, что такая форма продолжает существовать для обратной совместимости - в Excle5 писали Application.Sum(...) KL [MVP - Microsoft Excel] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.10.2006, 15:31:42 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=34044831&tid=2184150]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
63ms |
get tp. blocked users: |
3ms |
| others: | 213ms |
| total: | 365ms |

| 0 / 0 |
