VBA 从 OneDrive 下载文件
VBA download a File from OneDrive
我正在尝试从 OneDrive 下载文件。我是 API 概念的新手,这里是代码,
Sub OneDrive_Download()
'Declare the Object
Dim oRequest As Object
'Create and Assign Object
Set oRequest = CreateObject("MSXML2.XMLHTTP")
'Input User OneDrive URL
URL = "https://xxxx-my.sharepoint.com/personal/sidxxx_ie/"
'Post the URL in the Object
oRequest.Open "POST", URL, False
'Send Keys to the API
oRequest.send ("{""client_id"":myclientid,""CLIENT_SECRET"":myclientsecret}")
'Print the Response in the Immediate Window
Debug.Print oRequest.ResponseText
End Sub
这是我 Debug.Print 在我的即时 window,
上得到的回复
// Setup cta message fields.
window.$Do.when("User", 0, function ()
{
User.setupCallToActionMessages();
});
// Other tile
var Tiles = Tiles || {};
Tiles.otherJSON = {
'name': 'Use another account',
'login': '',
'imageAAD': 'other_glyph.png',
'imageMSA': 'other_glyph.png',
'isLive': false,
'link': 'other',
'authUrl': '',
'sessionID': '',
'domainHint': 'other'
};
</script>
</body>
</html>
现在我想在我的 OneDrive 中下载一个名为 test.xlsx 的文件。有什么办法吗
已更新 - 代码
Sub DownloadFile()
'Declare the Object and URL
Dim myURL As String
Dim WinHttpReq As Object
'Assign the URL and Object to Variables
myURL = "https://xxx-my.sharepoint.com/personal/Sidxxx/Documents/test.xlsx"
Set WinHttpReq = CreateObject("Microsoft.XMLHTTP")
'Provide Access Token and PWD to the URL for getting the service from API
WinHttpReq.Open "GET", myURL, False, "abcdef", "12345"
WinHttpReq.send
Debug.Print WinHttpReq.Status
myURL = WinHttpReq.responseBody
If WinHttpReq.Status = 200 Then
Set oStream = CreateObject("ADODB.Stream")
oStream.Open
oStream.Type = 1
oStream.SaveToFile "C:\testdownload.xlsx", 2
oStream.Close
End If
End Sub
正在下载文件。但它似乎是空的。
这段代码对我有用。谢谢大家的建议。
Sub DownloadFile()
'Declare the Object and URL
Dim myURL As String
Dim WinHttpReq As Object
'Assign the URL and Object to Variables
myURL = "https://xxx-my.sharepoint.com/personal/Sidxxx/Documents/test.xlsx"
Set WinHttpReq = CreateObject("Microsoft.XMLHTTP")
'Provide Access Token and PWD to the URL for getting the service from API
WinHttpReq.Open "GET", myURL, False, "abcdef", "12345"
WinHttpReq.send
Debug.Print WinHttpReq.Status
myURL = WinHttpReq.responseBody
If WinHttpReq.Status = 200 Then
Set oStream = CreateObject("ADODB.Stream")
oStream.Open
oStream.Type = 1
oStream.Write WinHttpReq.responseBody
oStream.SaveToFile "C:\testdownload.xlsx", 2
oStream.Close
End If
End Sub
我正在尝试从 OneDrive 下载文件。我是 API 概念的新手,这里是代码,
Sub OneDrive_Download()
'Declare the Object
Dim oRequest As Object
'Create and Assign Object
Set oRequest = CreateObject("MSXML2.XMLHTTP")
'Input User OneDrive URL
URL = "https://xxxx-my.sharepoint.com/personal/sidxxx_ie/"
'Post the URL in the Object
oRequest.Open "POST", URL, False
'Send Keys to the API
oRequest.send ("{""client_id"":myclientid,""CLIENT_SECRET"":myclientsecret}")
'Print the Response in the Immediate Window
Debug.Print oRequest.ResponseText
End Sub
这是我 Debug.Print 在我的即时 window,
上得到的回复// Setup cta message fields.
window.$Do.when("User", 0, function ()
{
User.setupCallToActionMessages();
});
// Other tile
var Tiles = Tiles || {};
Tiles.otherJSON = {
'name': 'Use another account',
'login': '',
'imageAAD': 'other_glyph.png',
'imageMSA': 'other_glyph.png',
'isLive': false,
'link': 'other',
'authUrl': '',
'sessionID': '',
'domainHint': 'other'
};
</script>
</body>
</html>
现在我想在我的 OneDrive 中下载一个名为 test.xlsx 的文件。有什么办法吗
已更新 - 代码
Sub DownloadFile()
'Declare the Object and URL
Dim myURL As String
Dim WinHttpReq As Object
'Assign the URL and Object to Variables
myURL = "https://xxx-my.sharepoint.com/personal/Sidxxx/Documents/test.xlsx"
Set WinHttpReq = CreateObject("Microsoft.XMLHTTP")
'Provide Access Token and PWD to the URL for getting the service from API
WinHttpReq.Open "GET", myURL, False, "abcdef", "12345"
WinHttpReq.send
Debug.Print WinHttpReq.Status
myURL = WinHttpReq.responseBody
If WinHttpReq.Status = 200 Then
Set oStream = CreateObject("ADODB.Stream")
oStream.Open
oStream.Type = 1
oStream.SaveToFile "C:\testdownload.xlsx", 2
oStream.Close
End If
End Sub
正在下载文件。但它似乎是空的。
这段代码对我有用。谢谢大家的建议。
Sub DownloadFile()
'Declare the Object and URL
Dim myURL As String
Dim WinHttpReq As Object
'Assign the URL and Object to Variables
myURL = "https://xxx-my.sharepoint.com/personal/Sidxxx/Documents/test.xlsx"
Set WinHttpReq = CreateObject("Microsoft.XMLHTTP")
'Provide Access Token and PWD to the URL for getting the service from API
WinHttpReq.Open "GET", myURL, False, "abcdef", "12345"
WinHttpReq.send
Debug.Print WinHttpReq.Status
myURL = WinHttpReq.responseBody
If WinHttpReq.Status = 200 Then
Set oStream = CreateObject("ADODB.Stream")
oStream.Open
oStream.Type = 1
oStream.Write WinHttpReq.responseBody
oStream.SaveToFile "C:\testdownload.xlsx", 2
oStream.Close
End If
End Sub