Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.03.2010, 22:18   #1
KOSTIK1
Форумчанин
 
Аватар для KOSTIK1
 
Регистрация: 06.10.2009
Сообщений: 193
По умолчанию ТекстБокс - ограничение на введение символов.

Доброго времени суток! Помогите пожалуйста с кодом для формы, при введении в текстбокс больше 20 любых символов, выскакивало сообщение, что "превышено количество символов". Заранее спасибо!
С Уважением, Костик
KOSTIK1 вне форума Ответить с цитированием
Старый 15.03.2010, 22:53   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

присвойте свойству MaxLength TextBox'а значение 20. Без всяких сообщений, но больше 20 символов не ввести.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 15.03.2010, 23:05   #3
KOSTIK1
Форумчанин
 
Аватар для KOSTIK1
 
Регистрация: 06.10.2009
Сообщений: 193
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
присвойте свойству MaxLength TextBox'а значение 20. Без всяких сообщений, но больше 20 символов не ввести.
Спасибо Игорь за предложенный вариант, тоже хорош, только мне надо было гдето так.
Код:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    On Local Error Resume Next
    If Len(Me.TextBox1) >= 20 Then MsgBox "Более 20 символов", vbInformation, "Внимание": Exit Sub
End Sub
Пока работает, но может нужно поправить что, а?
С Уважением, Костик

Последний раз редактировалось KOSTIK1; 15.03.2010 в 23:17.
KOSTIK1 вне форума Ответить с цитированием
Старый 16.03.2010, 01:24   #4
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Эти сообщения будут только сбивать с толку. Игорь предложил нормальный вариант, не нужно изобретать велосипед
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 16.03.2010, 05:46   #5
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Костик.
Прислушайтесь к советам и поверьте, сообщение не просто бесполезно, оно лишнее.
А для того "что бы знать", конструкция может выглядеть так:
Код:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If Len(Me.TextBox1) >= 20 And Not KeyAscii = 8 Then
        'MsgBox "Более 20 символов", vbInformation, "Внимание"
        KeyAscii = 0
    End If
End Sub
(8 нажатие клавиши BackSpace)
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 16.03.2010, 09:24   #6
KOSTIK1
Форумчанин
 
Аватар для KOSTIK1
 
Регистрация: 06.10.2009
Сообщений: 193
По умолчанию

Спасибо ВСЕМ! Совет приму, сообщение выводить не буду, но мне нужно как то показать о превышении(учитывая и пробел тоже), могу я вывести инфу на Label и как.
Спасибо.
С Уважением, Костик
KOSTIK1 вне форума Ответить с цитированием
Старый 16.03.2010, 11:08   #7
KOSTIK1
Форумчанин
 
Аватар для KOSTIK1
 
Регистрация: 06.10.2009
Сообщений: 193
По умолчанию

Ещё раз спасибо всем, разобрался. Получилось так-
Код:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If Len(Me.TextBox1) >= 20 Then 
        Label2 = "Более 20 символов"
    End If
    If Len(Me.TextBox1) <= 20 Then
        Label2 = ""
    End If
End Sub
С Уважением, Костик
KOSTIK1 вне форума Ответить с цитированием
Старый 17.03.2010, 19:25   #8
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Костик, так конструкция будет выглядеть компактнее
Код:
Private Sub TextBox1_Change()
Dim s$
If Len(TextBox1) > 20 Then s = "Более 20 символов"
        Label2 = s
End Sub
Евгений.
Teslenko_EA вне форума Ответить с цитированием
Старый 18.03.2010, 11:36   #9
KOSTIK1
Форумчанин
 
Аватар для KOSTIK1
 
Регистрация: 06.10.2009
Сообщений: 193
По умолчанию

Спасибо Евгений, действительно компактно!
С Уважением, Костик
KOSTIK1 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ограничение вывода символов на 1 строку *serzh* PHP 3 23.06.2009 13:32
Ограничение по количеству символов Shouldercannon Общие вопросы Delphi 3 27.04.2009 16:33
Ограничение на ввод символов ANTI1 Общие вопросы Delphi 4 17.12.2008 16:30
Ограничение по вводу символов в Edit-e Alexij Общие вопросы Delphi 1 26.06.2008 16:27
Ограничение ввода символов. Delphi Alex_2017 Общие вопросы Delphi 2 05.06.2008 18:45