代码之家  ›  专栏  ›  技术社区  ›  VBasic2008

如何在VBA[关闭]中将网页(代码)转换为字符串变量

  •  -1
  • VBasic2008  · 技术社区  · 6 年前

    我在WindowsXP上使用Excel2003 . 我尝试使用或调整的所有涉及HTML的代码都不起作用,因为它可能是为较新版本编写的。

    通过点击Excel中的一个链接,我发送了一个YouTube API请求,它激活了浏览器(googlechrome),在那里我以文本(JSON数据)的形式在网页上得到结果。我复制网页的内容并粘贴到Excel中,Excel以每个单元格一行的格式导入。我创建了一个宏来“提取”所有数据,每列一个属性到一个范围,数组作为分隔文本。宏使用的时间大约为每个文件2-3秒,最多50个条目,这可能会减少,因为只有一部分数据对我有用,而且也不需要复制多个这样的文件。


    在粘贴到Excel之前,我想绕过激活浏览器和复制JSON数据。我见过JavaScript(Parse)做过类似的事情,但我不知道如何在我的案例中使用它。
    所以,到目前为止我还没有什么可以提供的(它可能与Microsoft HTML对象库Innerhtml有关)。。。但是如果有人能给我指出正确的方向,我会非常感激并努力做进一步的调查。

    或者简化一下:我想从文件中粘贴文本 https://www.w3.org/TR/PNG/iso_8859-1.txt 使用VBA绕过浏览器访问Excel中的ActiveSheet、word文档或变量。我不知道从哪里开始找。

    1 回复  |  直到 6 年前
        1
  •  2
  •   Tim Williams    6 年前

    例如:

    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