Excel VBA为文本刮取HTML表格

好的,

我已经花了几个小时来search如何从桌子上抓文本,为了我的生活,我没有遇到一个方法,在我的情况下工作。

这里是我试图从中获取信息的HTML的一个示例

<table class="empDetailCard foldable unfolded"> <tr> <td colspan="4" class="title"> <span class="fold-control">full name</span> </td> </tr> <tr class="fold-row"> <td> <div class="badgePhoto reg"> <img class="photo " src="removed" /> </div> </td> <td> <span class="line"> <span class="section-title">Employee Info</span> </span> <div class="employeeInfo"> <div> <span class="line"> <span class="row-label">Login</span> mylogin</span> <span class="line"> <span class="row-label">Empl ID</span> 1234567</span> <span class="line"> <span class="row-label">Badge</span> 1234567</span> <span class="line"> <span class="row-label">Dept ID</span> 1234567</span> <span class="line"> <span class="row-label">Location</span> 1234567 </span> <span class="line"> <span class="row-label">Manager</span> <a href="removed" title="">John, Smith</a> </span> </td> </tr> </table> 

我试图从login表抓取“mylogin”使用GetElementByID,GetElementByName,甚至正则expression式,但我没有运气。

 Function IdtoLogin(empID As String) Dim H As Object, html As Object, objResult As Object Set H = CreateObject("WinHttp.WinHttpRequest.5.1") H.Open "GET", "myurl" & empID H.setRequestHeader "Content-Type", "text/xml" H.setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 6.1; rv:25.0) Gecko/20100101 Firefox/25.0" H.SetAutoLogonPolicy 0 H.send Set html = New HTMLDocument html.Body.innerHTML = H.ResponseText Set objResult = html.GetElementById("Login") IdtoLogin = objResult.innerHTML End Function 

响应返回正确的HTML与login信息,但它无法获取元素ID并引发“运行时错误91”。 如果有人可以指出,我很疯狂,因为我疯了。