2021. 9. 1. 09:46

[Excel-VBA] URL에 해당하는 이미지 자동으로 읽어오는 함수

어디선가 줒어온 소스;;;

urlCol 이랑 대상 컬럼, 시작Row, 대상 컬럼 정도만 맞추고 한번 슥 돌려주면 알아서 읽어옴

' 귀찮아서 인터넷에서 긁어옴
Sub getPictureFromURL()

Dim URL As String '이미지 URL 처리용 변수
Dim r As Long '작업중인 행
Dim urlCol As Integer ' URL이 들어있는 컬럼 번호
Dim targetCol As Integer ' 그림을 넣은 target 컬럼 번호

urlCol = 3
targetCol = 4

' 처음 1행은 헤더가 있기 때문에 2번째 row부터 시작
r = 2
Do
    URL = Cells(r, urlCol).Value  '각 셀의 값을 URL에 변수에 넣음
    On Error Resume Next '에러 발생해도 다음코드 진행
    ActiveSheet.Pictures.Insert(URL).Select 'URL 주소에 있는 각 그림을 삽입함
    
    If Err <> 0 Then '만약 무언가 오류가 발견되면, 그냥 무시하고 다음 항목으로 넘어간다
        Err.Clear 
        On Error GoTo 0
        GoTo errHandler
    End If
    
    With Selection '선택된 그림에서 작업
        .ShapeRange.LockAspectRatio = msoTrue '가로세로 비율고정(false면 해제)
        .Left = Cells(r, targetCol).Left + 2  '사진 왼쪽위치
        .Top = Cells(r, targetCol).Top + 2  '사진 윗쪽 위치
        .Height = Cells(r, targetCol).Height - 4  '사진 높이
        .Width = Cells(r, targetCol).Width - 4  '사진 너비
    End With
    
errHandler:
    
    r = r + 1 ' 다음행 데이터를 확인
Loop Until Cells(r, urlCol) = vbNullString
' URL 값이 공백을 만나면 종료
End Sub