VBA - 如何在文本框中的特定位置设置光标?

时间:2015-02-08 21:19:38

标签: vba textbox cursor

标题主要解释了我的需要。我有一个文本框,我使用_keypress程序不断检查数据的有效性。如果用户输入(,则我会通过键入右括号)自动为其填充。结果为(),光标位于文本框的末尾。 我的问题是,如何将光标向后推一步,将其放在两个括号之间?谢谢,

编辑:测试场景:

Private Sub txtInput_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

    If KeyAscii = Asc("(") Then
        txtInput.value = txtInput.value & "()"
        KeyAscii = 0
    End If

End Sub

希望这更清楚,

1 个答案:

答案 0 :(得分:4)

使用SelStart对象的TextBox属性:

Me.TextBox1.Value = "()"
Me.TextBox1.SelStart = 1

注意:SelStart=1表示光标位于第一个元素之后,即“(”。因此,您应该使用您的字符串来了解您期望的SelStart属性的值。