오빠두엑셀 `2026 무료 챌린지` 오픈! 완주하고 수료증 받아가세요! 5년 연속 IT분야 베스트셀러! 「 진짜쓰는 실무엑셀 」로 2026년 공부 끝내기 엑셀이 막히셨나요? Q&A 게시판에서 바로 해결하세요.
메뉴

엑셀 URL 이미지 저장 :: SaveImageFromURL 함수

URL 주소의 이미지를 특정 경로의 파일로 저장하는 SaveImageFromURL 함수 사용법

작성자 :
오빠두엑셀
최종 수정일 : 2021. 08. 06. 16:52
URL 복사
메모 남기기 : (5)

엑셀 URL 이미지 저장 :: SaveImageFromURL 명령문 사용법 총정리

엑셀 SaveImageFromURL 명령문 목차 바로가기
요약

엑셀 SaveImageFromURL 함수는 URL주소의 이미지를 특정 경로의 파일로 저장하는 사용자 함수입니다.

명령문 구문
= SaveImageFromURL ( URL주소, 파일경로 )
사용된 인수 및 변수 알아보기
인수 설명
URL주소
[String]
이미지를 다운로드할 URL 주소입니다.
파일경로
[String]
이미지를 저장할 경로입니다. 폴더경로와 확장자를 포함한 전체 경로를 입력합니다.

예제파일 다운로드

오빠두엑셀의 강의 예제파일은 여러분을 위해 자유롭게 제공하고 있습니다.


상세 설명

엑셀 SaveImageFromURL 함수는 URL주소에 있는 이미지를 특정 경로의 파일로 저장하는 엑셀 사용자 함수입니다. HTTP 요청을 사용하므로 Windows 엑셀에서만 사용 가능합니다. (Mac 엑셀에서는 사용 불가)

두번째 인수인 파일경로는 폴더경로와 확장자를 포함한 전체 경로를 입력합니다. 파일경로의 확장자는 자유롭게 입력할 수 있습니다. 예를 들어, URL 주소의 그림파일을 ".txt" 형식으로 저장할 수 있지만, 확장자가 다를 경우 일부 실행이 제한될 수 있습니다.

SaveImageFromURL("https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png","C:\구글로고.txt")
'.txt 확장자로 저장은 되지만, 실행은 제한됩니다.

SaveImageFromURL 함수는 결과값으로 숫자를 반환하며, 성공적으로 파일이 저장되면 0을 반환합니다. 그 외 오류가 발생할 경우, 오류 번호를 반환합니다.

오빠두Tip : 대표적으로 폴더 경로가 올바르지 않거나 해당 경로에 쓰기 권한이 없을 경우, SaveImageFromURL 함수는 3004 오류를 반환합니다.

홈페이지에서 제공해드리는 GetFileApplication 함수를 사용하면, 다운받은 이미지 파일의 실행파일을 찾아 바로 실행할 수 있습니다.

실전 사용 예제
  1. URL 주소 이미지를 C드라이브에 다운로드
    Dim i As Long
    i = SaveImageFromURL("https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png","C:\구글로고.png")
    If i = 0 Then MsgBox "이미지를 성공적으로 다운로드하였습니다."
  2. URL 주소에서 이미지 다운로드 후 실행하기
    Dim i As Long
    Dim sURL As String : sURL = "https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png"
    Dim sPath as String: sPath = "C:\구글로고.png"
    i = SaveImageFromURL(sURL, sPath)
    If i = 0 Then Shell GetFileApplication(sPath) & " " & sPath

엑셀 URL 이미지 다운로드, SaveImageFromURL 명령문 동작원리

SaveImageFromURL 명령문 전체 코드
Function SaveImageFromURL(sURL As String, sPath As String) As Long
 
'###############################################################
'오빠두엑셀 VBA 사용자지정함수 (https://www.oppadu.com)
'▶ SaveImageFromURL 함수
'▶ URL 주소의 이미지를 지정한 경로의 파일로 저장합니다.
'▶ 인수 설명
'_____________sURL          : 이미지를 다운로드 할 URL 주소입니다.
'_____________sPath         : 이미지를 저장할 경로입니다. 폴더 경로와 확장자를 포함한 전체 경로를 입력합니다.
'▶ 사용 예제
'SaveImageFromURL "https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png","C:\구글로고.png"
'##############################################################
 
Dim objHTTP As Object
Dim objStream As Object
Dim sHTML As Variant
 
Const adTypeBinary As Long = 1
Const adSaveCreateOverWrite As Long = 2
 
If Left(sURL, 4) <> "http" Then sURL = "http://" & sURL
 
Set objHTTP = CreateObject("MSXML2.XMLHTTP.6.0")
Set objStream = CreateObject("ADODB.Stream")
objStream.Type = adTypeBinary
 
On Error GoTo EH:
With objHTTP
    .Open "GET", sURL, sPath
    .Send
End With
 
If objHTTP.Status = 200 Then
    sHTML = objHTTP.responsebody
    With objStream
    .Open
    .Write sHTML
    .SaveToFile sPath, adSaveCreateOverWrite
    .Close
    End With
Else
    GoTo EH:
End If
 
SaveImageFromURL = 0
 
Exit Function
 
EH:
SaveImageFromURL = Err.Number
 
End Function
댓글 5
5 (3개 평가)
모닝삼겹살
모닝삼겹살 2023.03.05 00:22
안녕하세요 맥사용자입니다. 맥에서는 활용할수 있는 방법이 없을까요? ㅠㅠ 지정한 url의 모든 이미지를 자동을 폴더에 저장하는 방법이 알고 싶습니다.
오빠두엑셀
오빠두엑셀 작성자 2023.03.05 02:23
안녕하세요!
본 명령문에 사용된 XML과 ADO 라이브러리는 윈도우에서만 사용가능한 것으로 알고 있습니다.
대부분의 VBA 라이브러리는 윈도우 기반으로 동작하기 때문에, Mac에서는 제한사항이 많은 편입니다.
놀루
놀루 2023.04.15 18:51
여러 이미지url이 엑셀에 리스팅되어있는데 이 이미지를 순서대로 일괄저장하고 싶습니다. 팟쿤으로는 순서가 계속 뒤바껴서요.. 일괄로도 저장이 가능할까요?
오빠두엑셀
오빠두엑셀 작성자 2023.04.17 02:18
안녕하세요.
네 가능합니다. For 반복문으로 작성하면 됩니다.
코드 작성을 도와드리긴 어려우며, 코딩 기본 작성법은 아래 영상강의를 확인해보시거나 ChatGPT를 통해 확인해보시면 좋을 것 같습니다.
https://www.oppadu.com/%ec%97%91%ec%85%80-live-102%ea%b0%95/
감사합니다.
강민준🤗
강민준🤗 2024.08.11 12:58
좋은 자료 감사합니다.🙇‍♂️