Я пытаюсь ввести значение ячейки C4
, которое получено из поля ввода, которое присваивает значение ячейке, в поле поиска после отправки на первой странице, но я не в состоянии, поскольку я продолжаю получать ошибку 438. Что-то не так с моими кодами после поля ввода?Как заполнить текстовые поля на 2-й странице
И есть ли способ, которым я могу получить коды до тех пор, пока ячейка C4
не будет присвоена значением в поле ввода, а затем продолжите заполнение второй страницы?
Кроме того, я использую Internet Explorer 11, каково должно быть мое objItem.FullName Like
, если я хочу использовать открытый браузер для работы?
Option Explicit
Const word1 As String = "C2"
Const word2 As String = "C3"
Const word3 As String = "C4"
Public Sub Test()
Dim objWindow As Object
Dim objIEApp As Object
Dim objShell As Object
Dim objItem As Object
Dim wordthree As String
On Error GoTo Fin
Set objShell = CreateObject("Shell.Application")
Set objWindow = objShell.Windows()
For Each objItem In objWindow
If LCase(objItem.FullName Like "*iexplore*") Then
Set objIEApp = objItem
End If
Next objItem
If objIEApp Is Nothing Then
Set objIEApp = CreateObject("InternetExplorer.Application")
objIEApp.Visible = True
End If
With objIEApp
.Visible = True
.Navigate "google.com"
While Not .ReadyState = 4
DoEvents
Wend
.Document.all.q.Value = Range(word1).Value
'.Document.all.q.Value = Range(word2).Value
.Document.forms(0).submit
End With
3word = InputBox("Enter 3rd word: ")
Range("C4").Value = wordthree
With objIEApp
.Visible = True
While Not .ReadyState = 4
DoEvents
Wend
.Document.all.q.Value = Range(word3).Value
.Document.forms(0).submit
End With
Fin:
If Err.Number <> 0 Then MsgBox "Error: " & _
Err.Number & " " & Err.Description
Set objWindow = Nothing
Set objShell = Nothing
End Sub
Я решил эту проблему –