我在文本框中有文字,上面写着“NEW NAME HERE”
一旦用户点击该文本框,是否可以在VBA中清除此文本?
如果有的话,请让我知道怎么做?
谢谢 -
答案 0 :(得分:4)
假设TextBox名为TextBox1
,则以下内容应该起作用
Private Sub TextBox1_GotFocus()
TextBox1.Text = ""
End Sub
答案 1 :(得分:3)
我知道这是一个老帖子,但我偶然发现它,并认为我会添加一个答案。
也许有人会在某一天发现它有用:-)
我会在清除内容之前检查当前值。这样,它会在您第一次单击时清除内容,但如果您稍后再次单击它(也许可以编辑名称),它什么都不做,允许编辑而不必重新开始。
假设TextBox名为TextBox1
且占位符文本为NEW NAME HERE
,则以下内容应该有效
Private Sub TextBox1_Enter()
If TextBox1.Text = "NEW NAME HERE" Then
TextBox1.Text = ""
End If
End Sub
如果文本框留空,则恢复占位符文本:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If Trim(TextBox1.Text) = "" Then
TextBox1.Text = "NEW NAME HERE"
End If
End Sub
在Word 2010 VBA中测试
答案 2 :(得分:1)
我在没有Handles部分的情况下尝试过(就像其他已经回答过的人一样)并且没有做任何事情。我已经确认下面的代码适用于我。
Private Sub txtNewNameHere_GotFocus() Handles txtNewNameHere.GotFocus
txtNewNameHere.Text = ""
End Sub
希望这有助于某人,即使这个问题有点旧。
答案 3 :(得分:1)
Private Sub Textbox1_MouseClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Textbox1.MouseClick
textbox1.clear()
End Sub
试试这个。我只是在daniweb中的这段代码。