VB(A)

엑셀 2010 이상 이미지 삽입

당근쨈 2015. 9. 22. 07:38

엑셀이 2010 넘어서면서 이미지 삽입 방식이 직접 삽입이 아니라 링크 방식으로 바뀌면서

내 PC에서는 보이지만 상대 PC에서는 안 보이는 불상사가 생겼다.

이 코드는 삽입한 이미지의 링크를 제거하고 문서에 포함시키는 매크로


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 
    Dim openFiles As Variant
    Dim strJpg As String
    Dim p As Object
    
    With Target
        If .Count > 1 Then Exit Sub
        If .Column <> 16 Then Exit Sub
    End With
    
    Application.ScreenUpdating = False
    
    strJpg = "그림파일 (*.jpg*), * .jpg * "
    openFiles = Application.GetOpenFilename(filefilter:=strJpg, Title:="파일 선택", MultiSelect:=False)
    
    If TypeName(openFiles) = "Boolean" Then Exit Sub
    
    Set p = ActiveSheet.Pictures.Insert(openFiles)
    
    With p
        .Copy
        ActiveSheet.PasteSpecial link:=False
        With Selection.ShapeRange
            .LockAspectRatio = msoFalse
            .Height = Target.Height - 2
            .Width = Target.Width - 2
            .Left = Target.Left + 1
            .Top = Target.Top + 1
        End With
        
        .Delete
    End With
    
    Application.ScreenUpdating = True
End Sub
cs


'VB(A)' 카테고리의 다른 글

체크박스로 시트 보호 해제 및 셀 잠금 해제  (0) 2015.10.14
숫자 섞기  (0) 2015.10.02
맨 앞의 값만 가져오기  (0) 2015.09.15
Dictionary  (0) 2015.09.12
같은 내용끼리 셀병합  (2) 2015.09.03