0

特定のサイトのブラウジングを容易にするために何か凝ったことをしたかったのですが、問題は、それを行う方法が本当にわからないこと、またはExcelで可能かどうかです.

私がやりたいのは、Excelが特定のページで「Overstock」のようなテキストを検索することです。単語が見つかった場合は、指定されたセルに「Full」または「Overstock」、またはその逆の結果が返されます。

この理由は、Excel を開くだけで一度に 100 以上のページをチェックし、各ページに個別の結果を与えるためです。

4

1 に答える 1

3

これにより、いくつかの変更を加えて、必要なことが行われるはずです。

私が使用している Web サイトにログインするためのコードがありますが、あなたには必要ないかもしれません。

私はこれをより大きなマクロから切り刻んだので、ここには必要のないビットがいくつかあるかもしれません.

Sub scraper()

        Dim site As String
        Dim lastRow As Long
        Dim ie

        With ActiveSheet
            lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
        End With

            Set ie = CreateObject("internetexplorer.application")
            ie.Visible = True

            ie.navigate site

            'idle while ie is busy
            Do
            Loop Until ie.readystate = 3
            Do
            Loop Until ie.readystate = 4

            With ie.document
                .getelementbyid("UserName").Value = uName
                .getelementbyid("Password").Value = uPass
                .forms(0).submit
            End With
            On Error GoTo error

            Do
            Loop Until ie.readystate = 3
            Do
            Loop Until ie.readystate = 4

            For i = 2 To lastRow

                site = Range("A" & i).Value
                ie.navigate site

            Do
            Loop Until ie.readystate = 3
            Do
            Loop Until ie.readystate = 4


        msg = ie.document.Body.innerhtml
        If InStr(msg, "Text To Find") = 0 Then
            ActiveSheet.Range("B" & i).Value = "Not Found"
        Else
            ActiveSheet.Range("B" & i).Value = "Found"
       End If
jump:
            Next i
        Exit Sub
error:
    ActiveSheet.Range("B" & i).Value = "Unknown Error!"
Resume jump


End Sub
于 2013-08-26T01:57:37.383 に答える