此代码创建下载,但不会创建链接文件,因为它不是直接下载。当我打开下载的.csv文件时,它似乎是重定向中的数据,而不是链接到重定向的文件。
这是代码:
Sub Asana()
Dim myURL As String
myURL = "https://app.asana.com/-/csv?id=955497629707333"
Dim HttpReq As Object
Set HttpReq = CreateObject("Microsoft.XMLHTTP")
HttpReq.Open "GET", myURL, False, "username", "password"
HttpReq.send
myURL = HttpReq.responseBody
If HttpReq.Status = 200 Then
Set oStrm = CreateObject("ADODB.Stream")
oStrm.Open
oStrm.Type = 1
oStrm.Write HttpReq.responseBody
oStrm.SaveToFile ThisWorkbook.Path & "\" & "SER_Backlog_BRCC.csv", 2 ' 1 = no overwrite, 2 = overwrite
oStrm.Close
End If
End Sub
它应该是页面上数据的电子表格副本,但它与网站电子表格中的数据一起出现,而不是如果您手动完成的话,将获得链接的.csv文件。
应该是这样
答案 0 :(得分:0)
我想您有一个授权问题,因为Asana不支持用户/密码。
您需要一个Personal Access Token,必须在您的请求标头中进行设置。
请替换此行
'Set HttpReq = CreateObject("Microsoft.XMLHTTP")
Set HttpReq = CreateObject("MSXML2.XMLHTTP")
那一行:
'HttpReq.Open "GET", myURL, False, "username", "password"
HttpReq.Open "GET", myURL, False
HttpReq.setRequestHeader "Authorization", "Bearer " & "your Asana token here"