这个函数是错误的:
Function UUID() As String
UUID = Workbooks.OpenText("https://www.uuidgenerator.net/api/version1") 'Compile Error: Expected Function Or Variable
End Function
正确的语法是什么?
答案1
首先,您需要在 VBA 中添加对项目的引用,以便访问 MSXML:
- Microsoft XML,版本 3.0。
- Microsoft XML,v 4.0(如果您已经单独安装了 MSXML 4.0)。
- Microsoft XML,v 5.0(如果您已经安装了 Office 2003 – 2007,它为 Microsoft Office 应用程序提供了 MSXML 5.0)。
适用于 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