如何使用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–让我们将此讨论带到下一步。