我想从我银行的网站上检索一张表格,然后将它以相同的格式粘贴到Excel工作表中。 感谢这个非常有用的网站上的一些帖子,我设法自动编写了一个vba代码:
现在我的问题是: 如何复制此报告(这是一个表格)并将其粘贴到Excel工作表中,其格式与网站上显示的完全相同? 在网站页面的html代码中,此表没有" id"。但是它有一个叫做"报告"的课程。而且这是唯一一个拥有这门课程的人。
我想我必须使用它:
IE.document.getElementsByClassName("report")(0).outerHTML
但我不确定如何使用它...基本上对我来说最简单的事情就是编写将报告复制到剪贴板的最后一部分代码,并将其以相同的格式粘贴到电子表格中。 / p>
知道我该怎么做吗?
答案 0 :(得分:0)
我录制了一个宏来获取代码,使用它应该为你复制表。我认为这是最适合你的方式。您必须更改URL和webtable。这将复制它。
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;http://THE URL AFTER LOGIN WITH THE TABLE", _
Destination:=Range("$A$1"))
.CommandType = 0
.Name = "SEQUENCE OF URL"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = "11"
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
让我们这样做!! :)一步一步。
答案 1 :(得分:-1)
你是对的。使用它填写表格。
尝试打开页面,按F12并使用控制台确保一切正常。
填写 document.getElementById(“Id”)。value =“xxxxx” document.getElementById(“Id2”)。value =“pass”
点击 的document.getElementById( “名称”)。单击()
答案 2 :(得分:-1)
Set objie = CreateObject("InternetExplorer.Application")
objie.Visible = True
With objie
.AddressBar = False
.StatusBar = False
.MenuBar = False
.Toolbar = 0
.NAVIGATE "http://www.loginpage.com"
While .BUSY
Wend
Do While .READYSTATE <> 4: DoEvents: Loop
'first you login
Set htmldoc = .document
htmldoc.getElementById("UserId").Value = "login"
htmldoc.getElementById("Password").Value = "pass"
htmldoc.getElementById("submit-btn").Click
End With
尝试使用这个,它的第一步......对你有意义吗?我是新来的,所以我会尽我所能