728x90
인터넷에 존재하는 파일을 다운로드 하기 위하여 아래와 같은 코드를 사용할 수 있습니다.
다운로드할 대상의 URL과 Download할 Path와 이름이 포함된 FullName을 지정하여 다운로드 합니다.
이 기능은 Add-In인 EGTools 추가기능에 자동업데이트 기능을 추가할 때 사용하였습니다.
Binary 파일을 ADODB.Stream으로 다운로드 하는 방식입니다.
다운로드가 되면 새로 생성된 파일의 FullName을 반환하고, 실패하면 빈문자열(vbNullString)을 반환합니다.
Function DownloadFromURL(FileUrl As String, NewFullName As String)
Dim oXMLHTTP As Object, oStream As Object
On Error GoTo ERROR_EXIT
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")
oXMLHTTP.Open "GET", FileUrl, False
oXMLHTTP.send
If oXMLHTTP.Status = 200 Then
Set oStream = CreateObject("ADODB.Stream")
oStream.Open
oStream.Type = 1
oStream.Write oXMLHTTP.responseBody
oStream.SaveToFile NewFullName, 2
oStream.Close
DownloadFromURL = NewFullName
Else
DownloadFromURL = vbNullString
End If
GoTo EXIT_RUN
ERROR_EXIT:
DownloadFromURL = vbNullString
EXIT_RUN:
Set oXMLHTTP = Nothing
Set oStream = Nothing
End Function
728x90
'Excel - VBA' 카테고리의 다른 글
IsTime() 셀 값이 시간 값인지 어떻게 확인할 수 있을까? (0) | 2023.01.11 |
---|---|
VBA로 Add-In(추가기능) 자동 업데이트 하기 (0) | 2023.01.06 |
Ribbon Menu에 토글버튼 사용하기 (0) | 2023.01.06 |
Ribbon Menu에서 매크로에 인수 전달하기 (0) | 2023.01.05 |
UDF 함수 마법사 띄우기 (0) | 2023.01.05 |