2010-11-03 3 views
0

Получил текстовое поле в VBA и не хотел, чтобы usser мог вводить пробелы в нем, я могу помешать пользователю выполнить это с помощью программирования?Предотвращение пробелов в текстовом поле ввода

+0

для VBA, какой продукт? Excel? Доступ? – Beth

+2

VBA как автономный VBA –

ответ

1

Обращайтесь к событию keypress/change, установите флажок "", а затем установите значение string.empty.

Alternativly использование string.replace (»», String.Empty) после того, как данные были введены

+0

Я думал о замене строки, но это позволяет пользователю по-прежнему вводить пробелы в текстовом поле с помощью VBA, которые ловят их при написании строки? –

+0

Это было бы одним из способов сделать это ... несмотря на то, что обработка события должна быть частью «когда», «как» зависит от вас :) –

+0

«string.empty» - это поле .NET. Пользователь должен указать _ "" _ или объявить константу _EMPTY_STRING_. – ray

0

Может быть this поможет:

Вы можете разрешить/запретить определенные кнопки в KeyPress-Event

Private Sub TextBox1_KeyPress(KeyAscii As Integer) 
    Select Case KeyAscii 
    Case asc("0") To asc("9"), 8, 32, asc(",") 
     'allow signs 
    Case Else 
     KeyAscii = 0 'forbid everything else 
    End Select 
End Sub 

ПРИМЕЧАНИЕ. В этом примере допускаются ввод только чисел. Вам нужно адаптировать его для вашего дела.

Вот еще одна страница с почти тот же пример, но на английском языке: LINK

+0

Мне нравится этот пример, но могли бы вы сломать его для меня, пожалуйста, –

+0

Я думаю, что пример очень прост для понимания. Еще один намек, который я могу вам дать, - это код ascii для пробела 32. – Viper

+0

ah okay это выглядит просто, не поймите меня неправильно, я сам преподавал в vba (не про) плохо мог бы работать отсюда –

Смежные вопросы