1

これが私のコードです。残念ながら、会社の問題に対しては実際のURLを投稿できません。実際のURLは機能しますが、希望どおりに機能しません。以下の質問を確認してください。

Dim doc As HTMLDocument
Dim IE As InternetExplorer
Dim TDelements As IHTMLElementCollection
Dim TDelement As HTMLTableCell
Dim r As Long

Sub ficfinder()
Set IE = CreateObject("InternetExplorer.Application")
    With IE
        .Visible = True
        .navigate URL:="...INPUT"<---this is my search form, but i have to redact due to co policy
    Do 'Until .readyState = 4
    DoEvents
    Loop Until IE.readyState = READYSTATE_COMPLETE
    'pick field to fill out
    Set mytextfield1 = .document.all.Item("WESTAC")
    'set value to put in
    mytextfield1.Value = "5416869160"
    'click the submit button
    IE.document.all.Item("Submit").Click
    Do 'Until .readyState = 4
    DoEvents
    Loop Until IE.readyState = READYSTATE_COMPLETE
    End With
'I think i'm missing something here

    Set doc = IE.document
    Dim sdd As String
    Set TDelements = doc.getElementsByTagName("td")
    r = 0
    For Each TDelement In TDelements
        If TDelement.Align = "right" Then
            Sheet2.Range("A1").Offset(r, 0).Value = TDelement.innerText
            r = r + 1
        End If
    Next
End Sub

したがって、これは機能し、データをスプレッドシートに配置しますが、プルするデータは検索フォームからのものであり、送信後に表示されるページではありません。IE.documentを表示される新しいページにするにはどうすればよいですか?

助けてくれてありがとう!

4

1 に答える 1

0

追加した

Do While IE.Busy: DoEvents: Loop

送信直後で、完全に機能します。助けてくれたTimWilliamsに感謝します!

于 2013-03-09T03:33:53.317 に答える