Sub test1()
Dim objIE As Object
Dim i As Long
Dim MyRow As Long
Dim Str As String
Dim tmp As Variant
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Navigate "http://oshiete.goo.ne.jp/"
objIE.Visible = True
Do While objIE.Busy = True
DoEvents
Loop
Str = objIE.Document.Body.innerHTML 'ソースを抜き出す
tmp = Split(Str, Chr(10)) '配列に格納する
MyRow = 1 '初期値
For i = LBound(tmp) To UBound(tmp)
Cells(MyRow, 1) = tmp(i)
MyRow = MyRow + 1
Next i
objIE.Quit
Set objIE = Nothing
End Sub
**************************************************
Sub test2()
Dim objIE As Object
Dim Str As String
Dim tmp As Variant
Dim i As Long
Dim MyRow As Long
Set objIE = CreateObject("MSXML2.XMLHTTP")
objIE.Open "GET", "http://oshiete.goo.ne.jp/", False
objIE.Send
Str = objIE.responseText 'ソースを抜き出す
tmp = Split(Str, Chr(10)) '配列に格納する
MyRow = 1 '初期値
For i = LBound(tmp) To UBound(tmp)
Cells(MyRow, 1) = tmp(i)
MyRow = MyRow + 1
Next i
Set objIE = Nothing
End Sub
**************************************************
上記の二つのコードは
どちらもVBAでHTMLソースをエクセルに書き出すコードなのですが
結果が違います。
なぜなのでしょうか?
実際のソースを確認したら
CreateObject("MSXML2.XMLHTTP")
の方が正しかったです。
CreateObject("InternetExplorer.Application")
は何が取得されてるのでしょうか?
お礼
そのような違いがあるのですか。ありがとうございました。