2011-06-14 2 views
0

항상 양식이 동일하고 본문의 PDF 파일에 대한 하이퍼 링크가있는 주간 전자 메일을받습니다. URL을 검색하기 위해 전자 메일을 구문 분석하는 방법을 알고 있지만 VBA 코드를 사용하여 하이퍼 링크/URL에서 해당 파일을 다운로드하고 폴더에 저장하는 것이 가능합니까?Outlook에서 VBA를 사용하여 웹/URL/하이퍼 링크에 파일 저장

답변

1
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 
+0

+1 너무 간단하고 사용하기 쉬운 URLDownloadToFile을 좋아합니다! – JimmyPena

1

다른 보드에서 찾은 다른 방법을 사용하여 끝났지 만, 대부분의 예제에서는 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 
관련 문제