执行打印命令后将焦点置于文本框

请帮助我以下情况: 当我通过vba编写打印命令的代码时,它运行OK。执行打印命令后将焦点置于文本框

但是在运行打印命令后,光标不会集中在文本框上。

我必须使用命令来将光标对焦于文本框? 非常感谢。

If TextBox1.Text = "PRINT" Then 

ActiveSheet.PrintOut

TextBox1.Value = ""

Call CData

ThisWorkbook.Save

ThisWorkbook.Activate

UserForm1.TextBox1.SetFocus

End If

因为我写在文本扫描条形码的宏,所以我需要自动过程中进行打印后,它可以继续收到文本扫描条形码,没有必须扫描条形码之前单击文本框。

回答:

  1. 首先检查是否有任何错误消息以及代码的位置(模块,用户表单,工作表或工作簿代码)。
  2. 您确定您的If TextBox1.Text = "PRINT"条件已执行吗?通过插入一个beep命令,一些Debug.Print信息的立即窗口或Stop命令来检查这个命令,允许你通过按F8来手动检查代码延续。
  3. 您可以尝试Windows(ThisWorkbook.name).Activate而不是只有ThisWorkbook.Activate,尤其是如果您使用多个工作簿并进行一些选择或激活。
  4. 如果位于多页控件页面上的文本框应该先激活此页面: Multipage1.Value = 0(...)然后通过TextBox1.SetFocus设置焦点。
  5. 不要参考:-) UserForm1.TextBox1.SetFocus,但使用Me.TextBox1.SetFocusTextBox1.SetFocus :-)如果这是在您的UserForm模块中的代码。
  6. 你也可以执行你的文本框一个点击()事件,虽然这不是最好的编程风格:TextBox1_Click

以上是 执行打印命令后将焦点置于文本框 的全部内容, 来源链接: utcz.com/qa/260847.html

回到顶部