【问题标题】:Prevent spaces in textbox being enterd防止在文本框中输入空格
【发布时间】:2010-11-03 14:43:31
【问题描述】:

在 VBA 中有一个文本框并且不希望用户能够在其中键入空格我可以阻止用户通过编程这样做吗?

【问题讨论】:

  • vba 适用于哪个产品? Excel?访问?

标签: vba spaces


【解决方案1】:

处理keypress/change事件,检查“”然后设置为string.empty。

在输入数据后使用 string.replace(" ", string.empty)

【讨论】:

  • 我考虑过使用字符串替换,但这允许用户在编写字符串时仍然在文本框中键入使用空格,而 VBA 将这些空格找出来?
  • 这将是一种方法......无论如何,处理事件应该是“何时”部分,“如何”取决于你:)
  • "string.empty" 是一个 .NET 字段。用户需要输入 "" 或声明一个 EMPTY_STRING 常量。
【解决方案2】:
' 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

来自谷歌:D

【讨论】:

    【解决方案3】:

    也许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。
    • 啊好吧它看起来很简单不要误会我的意思,我在 vba 中自学(不是专业)我无法从这里工作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-13
    • 1970-01-01
    • 1970-01-01
    • 2019-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多