如何使用VBA excel从资源中获取og:image

如何使用VBA excel从资源中获取og:image,excel,vba,excel-2007,Excel,Vba,Excel 2007,如何使用VBAExcel2007 例如,此URL: https://www.bbc.com/reel/video/p08jgfdg/the-truth-about-christopher-columbus 使用最新版本的Excel,您可以尝试以下操作: Sub GetImageFromHead() Dim MyUrl As String MyUrl = "https://www.bbc.com/reel/video/p08jgfdg/the-truth-about-

如何使用
VBA
Excel2007

例如,此URL:

https://www.bbc.com/reel/video/p08jgfdg/the-truth-about-christopher-columbus

使用最新版本的Excel,您可以尝试以下操作:

Sub GetImageFromHead()

    Dim MyUrl As String
    MyUrl = "https://www.bbc.com/reel/video/p08jgfdg/the-truth-about-christopher-columbus"

    'Required library reference: Microsoft XML v6.0
    Dim HttpRequest As MSXML2.XMLHTTP60
    Set HttpRequest = New MSXML2.XMLHTTP60
    HttpRequest.Open "GET", MyUrl, False
    HttpRequest.Send
    
    Dim HtmlDoc As Object
    Set HtmlDoc = CreateObject("htmlfile")
    HtmlDoc.Write HttpRequest.responseText

    'This next line makes sure that the JavaScript on the page gets processed before continuing execution of the code.
    DoEvents 

    'Required library reference: Microsoft HTML Object
    Dim MetaCollection As MSHTML.IHTMLElementCollection
    Set MetaCollection = HtmlDoc.getElementsByTagName("meta")
    
    Dim HtmlElement As MSHTML.IHTMLElement
    For Each HtmlElement In MetaCollection
        If HtmlElement.getAttribute("property") = "og:image" Then
            ActiveSheet.Pictures.Insert (HtmlElement.getAttribute("content"))
        End If
    Next

End Sub
但由于您的问题是针对Excel 2007的,因此您必须像这样定义
HttpRequest

    'Required library reference: Microsoft XML v3.0 or v5.0
    Dim HttpRequest As MSXML2.XMLHTTP
    Set HttpRequest = New MSXML2.XMLHTTP

如果您想要一个只返回URL作为字符串的函数,您可以轻松地编辑子过程,使其成为一个以MyUrl为参数并返回字符串的函数,而不是使用它在Activesheet()中插入图像.

请包括您的编码attempt@bpy–我刚刚意识到你的问题带有
Excel-2007
标签。我添加了一些东西,可以使它在该版本的Excel中正常工作。它会在
HttpRequest.Send上中断。。。无论如何这是否可能是一个函数,这样我就可以从任何单元格中获取
MyUrl
,比如:
=GetImageFromHead(A3)
?@bpy–如果你告诉我运行时的错误代码,也许我能帮上忙。然而,由于我没有Excel2007,测试它对我来说有点困难。关于函数形式,您当然可以使用
MyUrl
作为参数,但是您希望函数返回什么?图像URL作为字符串?…我理解excel 2007的不足,我感谢您的所有努力。但这里有没有办法识别错误呢?至于第二个问题:是的!我希望函数以字符串形式返回图像URL。再次感谢你@bpy–让我们将此讨论带到下一步。