我正在使用下面的代码做一个GET请求到我的Google Sheets' apps脚本项目的Web应用URL -
Dim objRequest As Object
Dim strUrl As String
Dim blnAsync As Boolean
Dim strResponse As String
Dim responseData() As String
Set objRequest = CreateObject("MSXML2.XMLHTTP")
strUrl = "https://script.google.com/macros/s/.../exec?data=" & "id" & " | " & "date1" & "&mode=update"
'above URL works in browser
Debug.Print strUrl
blnAsync = True
With objRequest
.Open "GET", strUrl, blnAsync
.Send
While objRequest.readyState <> 4
DoEvents
Wend
Debug.Print .responseText 'empty
strResponse = .responseText 'empty
Debug.Print strResponse 'empty
End With
responseData = Split(strResponse, " | ")
Debug.Print UBound(responseData) - LBound(responseData) + 1 'prints 0
当我在浏览器中打开打印的URL时,我看到数据正在返回-
这意味着我的谷歌应用程序脚本Web应用程序正在工作,但VBA代码不是-什么可能出错?为什么VBA代码不从URL中获取返回的数据?我的最终目标只是得到返回的字符串,将其拆分为" | "
字符,并获得responseData
变量中的值。
我该怎么办?请引导…Thanks!:)
1条答案
按热度按时间dxxyhpgq1#
不是一个答案本身,但我最近试图拉回一些文字从网站使用各种代码,我发现在互联网上,其中大部分似乎没有工作。这是否是Office 365的一个古怪之处,或者我只是无法让它们工作,我不知道,但最后我最终使用XMLHTTP60调用来返回我想要的数据,这是从CAS号码中拉回微笑。
我使用的代码,你应该能够适应如下:
或