Получил текстовое поле в VBA и не хотел, чтобы usser мог вводить пробелы в нем, я могу помешать пользователю выполнить это с помощью программирования?Предотвращение пробелов в текстовом поле ввода
ответ
Обращайтесь к событию keypress/change, установите флажок "", а затем установите значение string.empty.
Alternativly использование string.replace (»», String.Empty) после того, как данные были введены
Я думал о замене строки, но это позволяет пользователю по-прежнему вводить пробелы в текстовом поле с помощью VBA, которые ловят их при написании строки? –
Это было бы одним из способов сделать это ... несмотря на то, что обработка события должна быть частью «когда», «как» зависит от вас :) –
«string.empty» - это поле .NET. Пользователь должен указать _ "" _ или объявить константу _EMPTY_STRING_. – ray
Может быть 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
Мне нравится этот пример, но могли бы вы сломать его для меня, пожалуйста, –
Я думаю, что пример очень прост для понимания. Еще один намек, который я могу вам дать, - это код ascii для пробела 32. – Viper
ah okay это выглядит просто, не поймите меня неправильно, я сам преподавал в vba (не про) плохо мог бы работать отсюда –
' Disable Space in TextBox
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 32 Then
KeyAscii = 0
End If
End Sub
http://www.vbforums.com/showthread.php?t=447978
От Google: D
для VBA, какой продукт? Excel? Доступ? – Beth
VBA как автономный VBA –