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


-1

这个功能错了:

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

什么是正确的语法?


报告的确切错误消息是什么,您期望它做什么?
Jeff Zeitlin

编译错误:预期的功能或变量
Riccardo La Marca

1
那告诉你这Workbooks.OpenText()不是一个函数或一个变量。据推测,它应该是一个功能; 它定义的地方?在Stack Overflow中可能更好地询问此类问题,但您需要提供更多信息,以及最小,完整,可验证的示例,否则它将被关闭。
Jeff Zeitlin

当我点击stackoverflow上的“Ask”时,我收到一条消息:“你已经达到了你的问题限制”
Riccardo La Marca

1
你是从哪里得到这个代码的?这是你的整个代码吗?如果是这样,哪里Workbooks.OpenText()来的?在获得任何有用的帮助之前,您需要提供更多信息 - 无论是在这里还是在StackOverflow上。
Jeff Zeitlin

Answers:


2

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

  1. Microsoft XML,v 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. Microsoft XML,v 6.0,适用于最新版本的MS Office。

    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)
    

0

谢谢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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.