将网站的文本内容放入变量 vba Excel

将网站的文本内容放入变量 vba Excel

这个函数是错误的:

Function UUID() As String
    UUID = Workbooks.OpenText("https://www.uuidgenerator.net/api/version1") 'Compile Error: Expected Function Or Variable
End Function

正确的语法是什么?

答案1

首先,您需要在 VBA 中添加对项目的引用,以便访问 MSXML:

  1. Microsoft XML,版本 3.0。
  2. Microsoft XML,v 4.0(如果您已经单独安装了 MSXML 4.0)。
  3. Microsoft XML,v 5.0(如果您已经安装了 Office 2003 – 2007,它为 Microsoft Office 应用程序提供了 MSXML 5.0)。
  4. 适用于 MS Office 最新版本的 Microsoft XML v 6.0。

    Dim xmlhttp As New MSXML2.XMLHTTP60, myurl As String
    
    myurl = "http://requestb.in/15oxrjh1" //replace with your URL
    
    xmlhttp.Open "GET", myurl, False
    
    xmlhttp.Send
    
    MsgBox(xmlhttp.responseText)
    

答案2

谢谢ttaylor1218:

Function UUID(Version As Integer) As String
    Dim HTTP As Object
    Set HTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
    HTTP.Open "GET", "https://www.uuidgenerator.net/api/version" & Version, False
    HTTP.Send
    UUID = Replace(HTTP.ResponseText, vbCrLf, "")
End Function

相关内容