Excel 如何暂停代码直到输入验证码?

Excel 如何暂停代码直到输入验证码?,excel,vba,internet-explorer-11,Excel,Vba,Internet Explorer 11,我已经成功地编译了下面提到的代码,代码运行良好,但我需要暂停代码运行,直到输入CAPTCHA值并单击“继续”按钮 如何实现这一目标 我还希望在单击“继续”按钮并加载下一页后继续代码 我还附上了一张图片供参考 Sub TDS_Autofill() Dim IE As Object Set IE = CreateObject("InternetExplorer.Application") IE.Visible = True IE.navigate "https://onlineservices.ti

我已经成功地编译了下面提到的代码,代码运行良好,但我需要暂停代码运行,直到输入CAPTCHA值并单击“继续”按钮

如何实现这一目标

我还希望在单击“继续”按钮并加载下一页后继续代码

我还附上了一张图片供参考

Sub TDS_Autofill()
Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True
IE.navigate "https://onlineservices.tin.egov-nsdl.com/etaxnew/tdsnontds.jsp"
Do While IE.Busy
Application.Wait DateAdd("s", 1, Now)
Loop

Set DOC = IE.document
DOC.parentWindow.execScript "sendRequest(281)", "JavaScript"

Do While IE.Busy
Application.Wait DateAdd("s", 1, Now)
Loop


If ThisWorkbook.Sheets("Challan AutoFill").Range("n2").Value = "Company" Then
DOC.getElementById("0020").Click
ElseIf ThisWorkbook.Sheets("Challan AutoFill").Range("n2").Value = "Non Company" Then
DOC.getElementById("0021").Click
End If



If ThisWorkbook.Sheets("Challan AutoFill").Range("p2").Value = "(200) TDS/TCS Payable by Taxpayer" Then
DOC.getElementById("200").Click
ElseIf ThisWorkbook.Sheets("Challan AutoFill").Range("p2").Value = "(400) TDS/TCS Regular Assessment" Then
DOC.getElementById("400").Click
End If


IE.document.querySelector("select.form-control").selectedIndex = ThisWorkbook.Sheets("Challan AutoFill").Range("s2").Value
DOC.querySelector("#div_nature_error .form-control").FireEvent "onchange"



DOC.getElementById("NetBanking").Click

DOC.getElementById("NetBank_Name_c").Value = ThisWorkbook.Sheets("Challan AutoFill").Range("u2").Value
DOC.querySelector("#NetBank_Name_c").FireEvent "onchange"


DOC.getElementsByName("TAN")(1).Value = ThisWorkbook.Sheets("Challan AutoFill").Range("b2").Value

IE.document.querySelector("select[name=AssessYear]").selectedIndex = ThisWorkbook.Sheets("Challan AutoFill").Range("m2").Value


DOC.getElementsByName("Add_Line1")(1).Value = ThisWorkbook.Sheets("Challan AutoFill").Range("c2").Value

DOC.getElementsByName("Add_Line2")(1).Value = ThisWorkbook.Sheets("Challan AutoFill").Range("d2").Value

DOC.getElementsByName("Add_Line3")(1).Value = ThisWorkbook.Sheets("Challan AutoFill").Range("e2").Value

DOC.getElementsByName("Add_Line4")(1).Value = ThisWorkbook.Sheets("Challan AutoFill").Range("f2").Value

DOC.getElementsByName("Add_Line5")(1).Value = ThisWorkbook.Sheets("Challan AutoFill").Range("g2").Value


IE.document.querySelector("select[name=Add_State]").selectedIndex = 21


DOC.getElementsByName("Add_PIN")(1).Value = ThisWorkbook.Sheets("Challan AutoFill").Range("i2").Value

DOC.getElementsByName("Add_EMAIL")(0).Value = ThisWorkbook.Sheets("Challan AutoFill").Range("j2").Value

DOC.getElementsByName("Add_MOBILE")(0).Value = ThisWorkbook.Sheets("Challan AutoFill").Range("K2").Value




DOC.querySelector("#Submit").Click





End Sub

您可以使用输入框,因为这将暂停代码执行,直到提交答案,并且可以用于输入验证码,而无需单击网站。下面这行应该有用:

DOC.getElementsByName("captchaText")(0).Value = InputBox("Captcha:")

如果您使用的是一台显示器,则需要在另一半显示器上打开excel,在另一半显示器上打开网站,以便在输入验证码时可以看到验证码是什么。

这是可能的,但因为您正试图实现该网站的设计目的。。这不是明智之举,我只需要代码暂停,直到我自己输入验证码。就是这样。一个表单中可以有两个按钮分配给两个自定义项。按第一个按钮可将您带到手机号码输入点。然后输入所需内容,然后按第二个按钮完成process@ArpitJain没问题