我有一个文本框,上面写着“NEW NAME HERE”。
在VBA中,当用户点击这个文本框时,是否可以立即清除这段文字?
如果可以,请告诉我如何操作。
谢谢!
TextBox1
,以下代码应该可以工作。Private Sub TextBox1_GotFocus()
TextBox1.Text = ""
End Sub
:-)
在清除内容之前,建议首先检查当前值。这样,当您第一次点击它时,它会清除内容,但如果稍后再次单击它(例如编辑名称),它将不执行任何操作,允许编辑而无需重新开始。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中进行了测试
我尝试了不带 Handles 部分的代码(就像另一个回答的人一样),但没有任何效果。我确认下面的代码对我有效。
Private Sub txtNewNameHere_GotFocus() Handles txtNewNameHere.GotFocus
txtNewNameHere.Text = ""
End Sub
希望这能帮助到某些人,尽管这个问题有点老了。
Private Sub Textbox1_MouseClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Textbox1.MouseClick
textbox1.clear()
End Sub
试试这个。我刚在daniweb上找到了这段代码。