如何使应用程序发送密钥"{TAB}"运行?我正在尝试在表单填写应用程序上使用它



我以前在浏览器上尝试过这种方法,在浏览器中我使用Excel VBA填写表单的详细信息,但当我试图将其用于软件时,它不起作用。它可能与我使用的内容无关,因为当我手动单击窗口上的第一个文本框时,我只是在使用SendKeys函数。

Sub enter_details()
Dim i As Integer
Dim des, name, addr As String
Application.Wait Now + #12:00:05 AM#
For i = 5 To 15
des = Cells(i, 2).Value
name = Cells(i, 3).Value
addr = Cells(i, 4).Value

Application.SendKeys (des)
Application.Wait Now + #12:00:01 AM#
Application.SendKeys ("{TAB}")
Application.Wait Now + #12:00:01 AM#
SendKeys (name)
Application.Wait Now + #12:00:01 AM#
Application.SendKeys ("{TAB}")
.
.
.
Next
End Sub

有人能指出我在这里做错了什么吗?

提前感谢!

首先注意:在VBA中,Dim des, name, addr As String只将addr声明为String,而将其他所有声明为Variant。您需要为每个变量Dim des As String, name As String, addr As String声明一个类型,并且行计数变量需要为Long类型,因为Excel有更多的行可以放入Integer

此外,你在这里使用的括号Application.SendKeys ("{TAB}")并没有做你期望他们做的事情。它必须是:

Application.SendKeys "{TAB}"  'no Call and no `=` sign no brackets

Call Application.SendKeys("{TAB}")

最后,如果您的应用程序没有对选项卡做出反应,而是对所有其他SendKeys做出反应,那么该应用程序在某种程度上干扰了SendKeys(不兼容(,或者它正在阻塞某些内容。事实上,当你编写代码时,它应该可以工作。我无法复制您的问题,我肯定看到了正在发送的标签。

最新更新