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

VBA - How to Set Cursor in a Specific Position in a Textbox?

标题主要说明了我的需要。我有一个文本框,我使用 _keypress 过程不断检查数据有效性。如果用户输入 (,那么我会通过输入右括号 ) 来为他们 auto-fill。结果为 (),光标位于文本框的末尾。 我的问题是,如何将光标后退一步以将其放在两个括号之间?谢谢,

编辑:测试场景:

Private Sub txtInput_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

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

End Sub

希望这样更清楚,

使用TextBox对象的SelStart属性:

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

注意:SelStart=1表示光标将在第一个元素之后,即“(”。因此,您应该使用您的字符串来了解您想要的 SelStart 属性 值应该是什么。