如何在VBA中将网页(代码)传输到字符串变量

时间:2018-10-14 17:00:35

标签: excel vba excel-2003

我正在Windows XP上使用Excel 2003 。我尝试使用或调整的所有引用HTML的代码都无法正常工作,因为它可能是为较新版本编写的。

我现阶段正在做什么 通过单击来自Excel的链接,我正在发送YouTube API请求,该请求将激活浏览器(Google Chrome),并在其中以文本(JSON数据)形式显示在网页上。我复制网页的内容,然后将其粘贴到Excel中,然后以每个单元格一行的格式将其导入。我创建了一个宏来“提取”所有数据,每列一个属性到一个范围,数组作为单独的文本。宏使用每个文件的时间大约为2-3秒,最多50个条目,这可能会减少,因为只有一部分数据对我有用,并且也不需要复制多个此类文件的选项。 / p>

我想做什么
我想绕过激活浏览器并复制JSON数据,然后再将其粘贴到Excel中。我已经看到用JavaScript(解析)做过类似的事情,但是我不知道该如何在我的情况下使用它。
因此,到目前为止,我实际上没什么可提供的(它可能与Microsoft HTML对象库,Innerhtml ... WebQuery无关。),但是如果有人可以向我指出正确的方向,我将不胜感激并努力进一步调查。

我想从Excel运行一个宏,该宏将遵循YouTube API请求的超链接并将结果(JSON数据)粘贴到ActiveSheet的A列中,绕过浏览器。

或为简化起见:我想将文本https://www.w3.org/TR/PNG/iso_8859-1.txt粘贴到Excel中的ActiveSheet,Word文档或使用VBA绕过浏览器的变体变量中。我不知道从哪里开始寻找。

1 个答案:

答案 0 :(得分:2)

例如:

Sub Test()
    Dim sUrl As String

    sUrl = "https://www.w3.org/TR/PNG/iso_8859-1.txt"
    With CreateObject("Msxml2.ServerXMLHTTP")
        .Open "GET", sUrl, False
        .send
        Debug.Print .responseText
        Debug.Print .getAllResponseHeaders
    End With
End Sub