Lost Information!

엑셀 VBA 기본 - 웹에서 이미지 가져와서 저장하기 - 1편 본문

개인브랜드블로그를 만들어 보자/엑셀VBA

엑셀 VBA 기본 - 웹에서 이미지 가져와서 저장하기 - 1편

Lostinformation 2021. 1. 27. 22:42

모두가 칼퇴하는 그날까지~

 

지난 글에서는

많은 분들이 헷갈리시는

Function을 다시 

설명하며 이를 활용하는

방법을 알려드렸습니다.

 

만일 저번 내용을 모르시거나

기억이 나질 않으신다면

밑에 글을 참고해주세요.

red-s.tistory.com/2499

 

엑셀 VBA 기초 - FUNCTION을 활용한 엑셀함수 만들기 - 2편

모두가 칼퇴하는 그날까지~ 지난 글에서는 Function을 활용하여 사용자 지정 함수를 알려드렸습니다. 만일 저번 내용을 모르시거나 기억이 나질 않으신다면 밑에 글을 참고해주세요. red-s.tistory.

red-s.tistory.com

 

이번 글부터는

엑셀 VBA 기초강의가 아닌

기본 강의로서 조금 더 

난이도가 있지만 실무에서

보다 활용도가 높은 내용을

알려드리겠습니다.

 

이번 글에서는

웹상에서 이미지를 가져오고

원하는 폴더에 저장하는 

방법에 대해 알려드리겠습니다.

 

그럼 일단 엑셀을 실행해주세요.

 

그리고 이렇게 웹상에서

이미지를 가져올 수 있는 

주소를 적고 그 밑에

해당 이미지가 오도록

설정하겠습니다.

 

그럼 ALT +F11을 눌러주세요.

 

그리고 이렇게 적어주세요.

 

바로 설명해드리면

 

Sub Get_Image_URL_1()

Get_Image_URL_1이라는

매크로를 만들 거야


Dim strURL  As String

strURL이라는 변수를

설정할 건데 웹상의 

URL을 받을 변수야

 

Dim rngT    As Range

rngT라는 변수는

그렇게 가져온 이미지를

넣을 셀 주소 롤 쓸 변수야


Dim Img     As Object

Img라는 변수는

말 그대로 이미지를 

받을 변수야

   

ActiveSheet.Pictures.Delete

초기화하기 위해 활성화된

이미지를 지워줘

(이미지 주소가 바뀌더라도

기존의 이미지를 주기 위해 )

 

    
strURL = Range("D6")
Set rngT = Range("D8")
이미지의 주소는 D6에 있고

이미지는 D8에 넣어줘    

 

Set Img = ActiveSheet.PicturesInsert(strURL)

그리고 활성화된 시트에

이미지를 넣어줘
    
Img.Left = rngT.Left + (rngT.Width - Img.Width) / 2

D8의 너비에 이미지 너비를

빼고 2로 나눠서 그 값을 

이미지를 넣을 셀 왼쪽에

더해줘

(이렇게 되면 왼쪽 공간과

오른쪽 공간의 값을 같아지고

가운데로 오게 됩니다.)

 

 Img.Top = rngT.Top + (rngT.Height - Img.Height) / 2

마찬가지로 높이 또한

너비와 똑같이 생각하시면 

위아래 높이도 같아집니다.

 

End Sub

 

이렇게 작성하고 실행하게 되면

 

이렇게 이미지가 자연스럽게

들어가는 모습을 

확인할 수 있습니다.

 

그런데 만약 이미지의 크기가

셀보다 크거나 너무 작다면

어떻게 해야 할까요?

 

이미지의 크기를 조절해야겠죠?

 

그래서 이미지 조절에 대한

내용은 다음 글에 이어서 

알려드리겠습니다.

 

그럼 여기까지 궁금하신 점은

댓글에 남겨주시고 

공감구독도 부탁드립니다.

 

 

Comments