【发布时间】:2011-09-15 02:32:17
【问题描述】:
因此,我每周都会收到一封电子邮件,其格式始终相同,并且正文中包含指向 PDF 文件的超链接。我知道如何解析电子邮件以检索 URL,但是是否可以让 VBA 代码从超链接/url 下载该文件并将其保存在文件夹中?
【问题讨论】:
因此,我每周都会收到一封电子邮件,其格式始终相同,并且正文中包含指向 PDF 文件的超链接。我知道如何解析电子邮件以检索 URL,但是是否可以让 VBA 代码从超链接/url 下载该文件并将其保存在文件夹中?
【问题讨论】:
Private Declare Function URLDownloadToFile Lib "urlmon" Alias _
"URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal _
szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
Sub DownloadFile(sURL, sSaveAs)
Dim rv As Long
rv = URLDownloadToFile(0, sURL, sSaveAs, 0, 0)
If rv = 0 Then
MsgBox "Download has been succeed!"
Else
MsgBox "Error"
End If
End Sub
【讨论】:
我最终使用了在另一个板上找到的不同方法,尽管我知道我能找到的大多数示例都使用了 UrlDownloadtoFile。代码如下:
Dim myURL As String
myURL = "http://www.somesite.com/file.csv"
Dim WinHttpReq As Object
Set WinHttpReq = CreateObject("Microsoft.XMLHTTP")
WinHttpReq.Open "GET", myURL, False
WinHttpReq.Send
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:\file.csv")
oStream.Close
End If
【讨论】: