标题主要解释了我的需要。我有一个文本框,我使用_keypress
程序不断检查数据的有效性。如果用户输入(
,则我会通过键入右括号)
自动为其填充。结果为()
,光标位于文本框的末尾。
我的问题是,如何将光标向后推一步,将其放在两个括号之间?谢谢,
编辑:测试场景:
Private Sub txtInput_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii = Asc("(") Then
txtInput.value = txtInput.value & "()"
KeyAscii = 0
End If
End Sub
希望这更清楚,
答案 0 :(得分:4)
使用SelStart
对象的TextBox
属性:
Me.TextBox1.Value = "()"
Me.TextBox1.SelStart = 1
注意:SelStart=1
表示光标位于第一个元素之后,即“(
”。因此,您应该使用您的字符串来了解您期望的SelStart
属性的值。