Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 将击键发送到插入符号_Vba - Fatal编程技术网

Vba 将击键发送到插入符号

Vba 将击键发送到插入符号,vba,Vba,我有一个屏幕上的数字键盘0-9,当用户点击该数字的按钮时,我试图向复选框发送一个按键,基本上是一个触摸屏键盘。有几个文本框,我想把它发送给当前有插入符号的那个。我已尝试SendKeys.Send1,但它无法发送。这样做的最佳方式是什么 您遇到的问题是,当用户单击您的任何按钮时,按钮会对焦,文本框会失去对焦,因此任何按键都会发送到具有对焦的控件,即按钮 解决此问题的一种可能方法是使用全局变量存储对最后一个文本框的引用,该文本框通过每个文本框的on Exit或on lost focus事件在表单上失

我有一个屏幕上的数字键盘0-9,当用户点击该数字的按钮时,我试图向复选框发送一个按键,基本上是一个触摸屏键盘。有几个文本框,我想把它发送给当前有插入符号的那个。我已尝试SendKeys.Send1,但它无法发送。这样做的最佳方式是什么

您遇到的问题是,当用户单击您的任何按钮时,按钮会对焦,文本框会失去对焦,因此任何按键都会发送到具有对焦的控件,即按钮

解决此问题的一种可能方法是使用全局变量存储对最后一个文本框的引用,该文本框通过每个文本框的on Exit或on lost focus事件在表单上失去焦点,然后使用适当的值填充此存储的文本框的内容,作为每个按钮的on Click事件的一部分

这方面的一个非常简单的例子可能是:

Dim LastTextBox As TextBox

Private Sub TextBox1_Exit(Cancel As Integer)
    Set LastTextBox = TextBox1
End Sub

Private Sub TextBox2_Exit(Cancel As Integer)
    Set LastTextBox = TextBox2
End Sub

Private Sub Button1_Click()
    If Not LastTextBox Is Nothing Then LastTextBox = "1"
End Sub

Private Sub Button2_Click()
    If Not LastTextBox Is Nothing Then LastTextBox = "2"
End Sub