Option
Explicit
Public
Sub
Test()
Dim
req
As
WinHttp.WinHttpRequest
Dim
html
As
MSHTML.HTMLDocument
Dim
items
As
MSHTML.IHTMLElementCollection
Dim
item
As
MSHTML.HTMLTable
Dim
rngCell
As
Excel.Range
Set
req =
New
WinHttp.WinHttpRequest
Call
req.send
Set
html =
New
MSHTML.HTMLDocument
Call
CallByName(html,
"writeln"
, VbMethod, req.responseText)
Set
items = html.getElementsByTagName(
"table"
)
Call
Worksheets(1).UsedRange.Clear
Set
rngCell = Worksheets(1).Range(
"A1"
)
For
Each
item
In
items
Call
CopyToClipboard(item.outerHTML)
Call
rngCell.PasteSpecial
Set
rngCell = Selection.Offset(Selection.Rows.Count + 1).Cells(1)
Next
End
Sub
Function
CopyToClipboard(sClipText
As
String
)
As
Boolean
Dim
MSForms_DataObject
As
Object
On
Error
GoTo
ErrorHandler_
Set
MSForms_DataObject = CreateObject(
"new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}"
)
MSForms_DataObject.SetText sClipText
MSForms_DataObject.PutInClipboard
CopyToClipboard =
True
Exit
Function
ErrorHandler_:
CopyToClipboard =
False
End
Function