将单个跨度值导入excel

时间:2016-08-29 12:25:06

标签: excel html5 vba

在大约10年内没有触及VBA,只是开始使用它来提高工作效率和准确性。我想要做的就是从html5范围导入/复制单个值。

这是HTML5(我希望这是您需要的唯一信息)我希望导入" FRANK

<span class="defvalue" id="GivenName">FRANK</span>

我已经能够启动IE并登录到页面并进入具有我想要的信息的页面,但我不知道从那里去哪里,我尝试了下面的行,希望它会这很容易,但事实并非如此。正如你所看到的那样,大量的成熟。

ieApp.Navigate "https://example.info.com/Details/" & Range("C6")
        Do While ieApp.Busy: DoEvents: Loop
        Do Until ieApp.ReadyState = READYSTATE_COMPLETE: DoEvents: Loop
            Range("B1").Value = "Collecting Data..."

        Range("C10").Value = appIE.Document: .getElementsById ("GivenName")

非常感谢任何帮助。我希望在同一页面上从其他跨度中收集一些其他值。

谢谢,

陈伟伟

1 个答案:

答案 0 :(得分:1)

您需要做的是获取ieApp.document.getElementById("GivenName")

的innerHTML值

以下代码将执行此任务以从GivenName

获取https://example.info.com/Details/ id块中的值
Dim ieApp As Object
Set ieApp = CreateObject("internetexplorer.application")

With ieApp
    .Navigate "https://example.info.com/Details/"
    .Visible = False
End With

Do While ieApp.Busy
    DoEvents
Loop

Set allRowOfData = ieApp.document.getElementById("GivenName")

Dim myValue As String
myValue = allRowOfData.innerHTML

MsgBox myValue

Set ieApp = Nothing