You cannot see this page without javascript.

  1. 유틸리티
  2. 컴퓨터Tip
  3. 드라이브
  4. 사진
  5. 즐겨찾는홈피

한글워드 문서 용량 줄이기 한글워드 문서 작성시 사진을 첨부해서 작성하는 경우가 많습...
"Adobe flash player을 사용하려면 클릭하세요" - Chrome 해결법 크롬이 최근 업데이트 후에는 매번 이런 창이 뜨고 있는데 이...
불필요한 이미지제거 프로그램 Inpaint 7.2 포토샵 인물,배경 쉽게 지우기 포토샵으로 불필요한 이미지를...
삼성 Allshare 프로그램 삼성TV Allshare 프로그램입니다. 내 컴퓨터에 있는 동영상이...
구글 드라이브에 올린 파일 직접 다운로드 링크 넣는 방법 홈페이지를 호스팅으로 운영하다보면 큰용랑의 파일인 경우 ...
포토샵 인물,배경 쉽게 지우기 사진에서 필요 없는 부분만 삭제 하면 더 좋은 사진을 얻을 ...
rss feed
조회 수 11836 추천 수 0 댓글 19
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

엑셀작업을 하다보면 VBA 메크로로 셀에 자동맞춤으로 이미지를 삽입되게 하면 이미지작업이 많을시 무척 편리하게 이용할 수 있습니다.

vba01.jpg


[VBA메크로 만드는 방법]

열려진 엑셀문서에서 Alt+F11(단축키)를 실행하면 VBA창이 열립니다.

삽입 - 모듈을 선택하면 아래 이미지와 같은 창이 열립니다.

vba02.jpg

[삽입코드 - 셀폭에 사진 자동으로 맞춤, 엑셀문서에 사진 포함되어지는 코드]

Sub insert_Pic()
    Dim Pic   As Variant
    Pic = Application.GetOpenFilename _
                    (filefilter:="Picture Files,*.jpg;*.bmp;*.tif;*.gif;*.png;*.jpeg")
    If Pic = False Then
        Exit Sub
    End If
    With ActiveSheet.Shapes.AddPicture(Pic, False, True, Selection.Left, Selection.Top, Selection.Width, Selection.Height)
        .LockAspectRatio = msoFalse
    End With
End Sub

위의 코드를 삽입하고 VBA창을 닫습니다.


[엑셀문서에 만들어진 메크로 적용하기]

1. 이미지가 삽입될 셀을 만듭니다.

2. 삽입 - 도형 에서 알맞은 도형을 선택해서 화면위에 넣습니다.

(도형이 아니어도 상관 없으며 위치도 어디던지 상관 없습니다)

3. 도형위에 우측마우스 - 메크로지정 선택

vba03.jpg


4. 메크로지정후 확인

vba04.jpg


5. 이미지를 삽입할 셀을 마우스로 선택후 메크로가 지정된 버턴을 클릭하면 파일탐색기가 나옵니다. 

이미지를 선택하여 넣으시면 됩니다.

vba05.jpg


6. 만들어진 엑셀파일을 메크로 파일이 작동되게끔 저장할려면 

다른이름으로 저장 - 파일형식을 "Excel 매크로 사용 통합 문서(*.xlsm)"으로 저장하시면 됩니다.


[주의 사항]

엑셀로 그림포함 작업시 그림삽입으로 문서를 작성한 경우 기본설정으로 저장시 그림이 문서안에 저장됩니다.

그런데 위의 설명에서 처럼 메크로 작업으로 이미지삽입된 엑셀파일을 만들경우 보통의 코드로 작업시 

이미지파일의 경로가 변경되거나 삭제,이름바꾸기 같은 작업이 이루어지면 엑셀문서안의 이미지파일은 엑박으로 뜹니다. 이런 경우 이미지없이 엑셀파일만 메일로 보내거나 USB(CD)에 담아 가면 이미지들이 출력이 되지를 앟습니다.

그래서 제가 드린 코드로 메크로파일을 작성하시면 경로와 상관없이 엑셀파일안에 이미지가 포함되어져 문서가 작성됩니다.

[일반적인 이미지 삽입 메크로코드]

Sub insert_Pic()

    Dim Pic   As Variant

    Pic = Application.GetOpenFilename _

                    (filefilter:="Picture Files,*.jpg;*.bmp;*.tif;*.gif;*.png")

    If Pic = False Then

        Exit Sub

    End If

     With ActiveSheet.Pictures.Insert(Pic).ShapeRange

        .LockAspectRatio = msoFalse

        .Height = Selection.Height

        .Width = Selection.Width

        .Left = Selection.Left

        .Top = Selection.Top

    End With

End Sub 

"Pictures.Insert" 는 링크로 참조하여 삽입할때 사용됩니다.

메일로 보내면 당연히 상대방 컴퓨터에서는 해당 파일을 찾지 못해서 안보이게 됩니다.

"Shapes.AddPicture" 를 사용 하시고 3번째 인수값이 true 일경우 사진과 함께 파일을 저장하는 인수값입니다.


p.s 이것은 저의 경험에서 나온 팁입니다.

그림을 문서에 포함시키지 않고 경로만 지정되게 해서 엑셀문서를 작성한경우 엑셀문서안에 이미지를 포함 저장하는 코드입니다.

Sub embed_Pics_Permanently()

   

    Dim shtNo As Integer                                     

    Dim i As Integer                                           

    Dim wks As Worksheet                                  

    Dim shpC As Shape                                      

    Dim picLeft As Single                                    

    Dim picTop As Single                                   

    

    Application.ScreenUpdating = False                

    

    shtNo = ActiveSheet.Index                             

    For i = 1 To Sheets.Count                              

        Sheets(i).Activate                                     

        

        For Each shpC In Sheets(i).Shapes           

            If shpC.Type = 11 Then                          

                

                picLeft = shpC.Left                            

                picTop = shpC.Top                           

                    

                shpC.Copy                                       

                ActiveSheet.PasteSpecial Link:=False 

                shpC.Delete                                     

                    

                Selection.Left = picLeft

                Selection.Top = picTop

            End If

        Next shpC

    Next i

   

    MsgBox "매크로가 종료되었습니다."

    

   Sheets(shtNo).Activate

End Sub

혹은 수정작업이 필요없거나 관람용으로만 사용할려면 "다름이름으로저장"에서 "PDF"로 저장해서 문서를 만들면 됩니다.


[설명]

Sub embed_Pics_Permanently()

   

    Dim shtNo As Integer                                     '현재 시트의 번호 넣을 변수

    Dim i As Integer                                            '전체 시트 개수 넣을 변수

    Dim wks As Worksheet                                  '각 시트를 넣을 변수

    Dim shpC As Shape                                      '각각의 도형(shape)을 넣을 변수

    Dim picLeft As Single                                    '각 그림(사진)의 왼쪽 위치 넣을 변수

    Dim picTop As Single                                    '각 그림의 윗쪽 위치 넣을 변수

    

    Application.ScreenUpdating = False                '화면 업데이트 (일시)정지

    

    shtNo = ActiveSheet.Index                             '활성화된 시트의 번호를 변수에 넣음

    For i = 1 To Sheets.Count                              '전체 시트를 순환

        Sheets(i).Activate                                     '시트를 순차적으로 활성화

        

        For Each shpC In Sheets(i).Shapes            '시트내의 각 도형을 순환

            If shpC.Type = 11 Then                          '만일 각 도형이 링크된 그림이라면

                

                picLeft = shpC.Left                            '링크된 그림의 왼쪽 위치를 변수에

                picTop = shpC.Top                           '링크된 그림의 윗쪽 위치를 변수에

                    

                shpC.Copy                                       '링크된 그림을 복사

                ActiveSheet.PasteSpecial Link:=False '그림 링크깨고 붙여넣기

                shpC.Delete                                     '링크된 그림을 삭제

                    

                Selection.Left = picLeft                      '복사된 그림 왼쪽 위치를 링크된 그림 왼쪽위치에

                Selection.Top = picTop                     '복사된 그림 윗쪽 위치를 링크된 그림 왼쪽위치에

            End If

        Next shpC

    Next i

   

    MsgBox "매크로가 종료되었습니다."

    

   Sheets(shtNo).Activate                                   '처음 매크로 실행된 시트를 활성화

End Sub

    Tip이 도움이 되었다면 댓글과 평가 부탁합니다. Tip에 대한 궁금한 점은 댓글로 남겨 주시면 성심껏 답변 드립니다.
?
  • ?
    루트 2016.11.21 12:56
    감사합니다.
    매우 유용합니다.
  • ?
    웃자 2017.05.10 17:07
    좋은 자료 정말 감사 합니다.
    질문이 하나 있습니다.
    "시트 보호"를 해버리면 런타임 오류가 발생 합니다.
    잡을수 있는 방법이 있는지요?
  • profile
    팔공산 2017.05.10 19:35

    웃자 님에게 달린 댓글

    어떤 부분을 "시트 보호" 하시는 지는 모르겠지만
    제가 전체영역 선택해서 "시트 보호" 해 보니 오류 없이 잘 작동합니다.
    엑셀 2016 입니다.
  • ?
    필수 2017.05.19 15:39
    저에게 꼬옥 필요한 글입니다! 정말 감사해요. 그런데 맥을 사용하고 있는데 여기서는
    '런타임 오류 '1004':
    메서드 'GetOpenFilename'('_Application' 개체 내) 실패
    라고 뜨거든요... 어떻게 하면 될까요?
  • ?
    필수 2017.05.19 18:18 Files첨부 (1)

    윈도우에서 하니까 잘됩니다!! 감사합니다 ㅎㅅㅎ 

    질문이 있습니다! 

    1. 이미지 칸에 버튼을 만들었는데 옆 셀에 이미지가 들어갑니다! 원래 그런건가요?

    2. 여기 넣었던 이미지를 다시 추출/저장 하고싶은데요, 칸에 비집고 들어간 왜곡된 이미지가 아닌 원본 그대로 저장할수 있는 방법은 없나요? 엑셀안에 이미지 저장하는 방식으로 '다른이름으로저장하게 - 웹페이지 형식'으로 하면  jpg형식들이 따로 나오는데요, 여기는 왜곡된 이미지만 나오더라구요! 엑셀안에서 이미지가 변형되면 그게 최종 이미지가 되는건가요? 

    엑셀을 잘 몰라서 하는 질문일수 있어서 조심스러우나 꼭 필요해서 여쭤봅니다!! 정말 감사합니다 

  • profile

    필수 님에게 달린 댓글

    1. 원래 그렇지 않습니다.^.^

    버턴을 누르기 전에 마우스커스를 이미지를 넣고 싶은 셀에 두세요.

    2. 정확하지는 않지만 아래 같이 해 보세요.(저도 해 보지는 않았습니다.)

    [수정전]
    .LockAspectRatio = msoFalse
    End With

    [수정후]
    .LockAspectRatio = msoTrue

    .ScaleHeight 1, msoTrue

    .ScaleWidth 1, msoTrue

    End With


    근데 이렇게 하면 지정한 셀에 맞추어 지지 않습니다.

    삽입 후 일일이 셀에 맞추어 주어야 합니다.


    아님 수정전 메크로로 이미지 넣어시고 이미지를 더블 클릭하시면 상단 메뉴에 

    "그림 압축"메뉴가 보이실 것입니다.

     해상도를 적당히 조정하세요.


    아님

    [다른 이름으로 저장] 메뉴 아래쪽 [도구 - 그림압축] 메뉴에서 호출할 수 있습니다. 


    [그림 압축] 메뉴에서 원하는 크기의 ppi를 선택하고 확인 버튼을 클릭하면 됩니다. 

    (여기서는 전자메일 항목을 선택했습니다.)

    엑셀 그림 이미지 압축 파일 용량 크기 줄이기

  • ?
    서기 2017.10.30 18:43

    팔공산 님에게 달린 댓글

    안녕하세요 궁금 점이 있어서 문의드립니다 엑셀 매크로 사진 삽입하면서 사진 다 깨져버려서 한 이백개의 파일 정도 되는데 그거 복구할 방법 없을까요ㅠㅠㅠㅠ
  • profile
    팔공산 2017.10.30 19:11

    서기 님에게 달린 댓글

    님의 정확한 의도는 잘 모르겠으나
    아마도 매크로로 짜 놓은 파일들의 이동으로 인해 이미지가 다 사라졌다는 말씀인지?

    이미지의 경로에 이미지가 없는 경우는 다시 살릴 수 있는 방법은 없을 듯 하고요,
    이미지가 살아 있는 환경에서 위의 본문에서 설명한
    "그림을 문서에 포함시키지 않고 경로만 지정되게 해서 엑셀문서를 작성한경우 엑셀문서안에 이미지를 포함 저장하는 코드" 이 부분으로 다시 매크로 실행하셔야 할 듯 합니다.
  • ?
    서기 2017.10.30 20:32

    답변 정말 갑사합니다.. ㅠㅠ 이거 해결안하면 몇일 밤을 세야할지도.. 파일이 몇백개라...


    엑알못이라 그냥 따라서 복사해서 붙여넣기로하고

    단축키 alt+w로 넣어서 사용했는데..


    읽어봐도 무슨말인지 ..


    이미 작성된 메크로 파일안에 사진을 포함시키고 싶은건데요..


    위 글처럼 alt+f11 누르고 기존 메크로 삭제후

    Sub embed_Pics_Permanently()

       

        Dim shtNo As Integer                                     

        Dim i As Integer                                           

        Dim wks As Worksheet                                  

        Dim shpC As Shape                                      

        Dim picLeft As Single                                    

        Dim picTop As Single                                   

        

        Application.ScreenUpdating = False                

        

        shtNo = ActiveSheet.Index                             

        For i = 1 To Sheets.Count                              

            Sheets(i).Activate                                     

            

            For Each shpC In Sheets(i).Shapes           

                If shpC.Type = 11 Then                          

                    

                    picLeft = shpC.Left                            

                    picTop = shpC.Top                           

                        

                    shpC.Copy                                       

                    ActiveSheet.PasteSpecial Link:=False 

                    shpC.Delete                                     

                        

                    Selection.Left = picLeft

                    Selection.Top = picTop

                End If

            Next shpC

        Next i

       

        MsgBox "매크로가 종료되었습니다."

        

       Sheets(shtNo).Activate

    End Sub

    를 붙여넣었는데 안되네요

    정말 진심을 담아 부탁드립니다. 해결방법이 없을까요??


  • profile
    팔공산 2017.10.31 00:40

    서기 님에게 달린 댓글

    먼저 Alt+F11 하신후 Module1에 위의 문구 작성하신 후 저장 - F5(실행) 키 누르면 

    "매크로가 종료되었습니다." 메세지 나오면서 끝.   

  • ?
    서기 2017.10.31 01:13

    팔공산 님에게 달린 댓글

    아..밤새작접중이였는데..해볼께요 정망 감사합니다ㅠㅠ
  • ?
    alca 2017.12.18 00:04
    정말 좋은 정보네요. 쉬운 설명 덕분에 어렵지 않게 응용할 수 있었습니다. 감사합니다!
  • ?
    나는 2017.12.28 11:30
    관리자님..메크로 코드좀 편리하게 응용할수있게...첨부파일좀 부탁드리겠습니다..
  • profile
    팔공산 2017.12.28 22:29

    나는 님에게 달린 댓글

    굳이 첨부파일이 필요하나요.
    코드복사해서 넣으시면 되는데요
    참고로 로그인하셔야 화면 복사가능합니다.

  • ?
    슬픈직원 2018.01.13 15:01
    관리자님 잘사용하고있는데 질문한가지 있습니다

    저희 현장 같은경우에는 선 2PT 로 조정하고
    엑셀칸에 꽉차게 만들어야하는데 좋은방법 소개좀 부탁드립니다
    답글이나 qodrnl10@gmail.com 이메일 답변 부탁드립니다
  • profile
    팔공산 2018.01.13 19:40

    슬픈직원 님에게 달린 댓글

    우선 제가 선 2PT가 무엇인지 잘 모르겠네요ㅠㅠ
    그리고 본문에 있는 메크로 삽입하면 엑셀칸에 꽉차지 않나요?
  • ?
    링거 2018.04.25 09:39
    코드를 어떻게 복사하죠?
  • profile
    팔공산 2018.04.25 12:45

    링거 님에게 달린 댓글

    회원가입하시면 우측마우스 작동합니다.
  • ?
    칭구 2018.10.14 10:25
    대단하십니다 감사합니다~~^*^

  1. 한글워드 문서 용량 줄이기

    한글워드 문서 작성시 사진을 첨부해서 작성하는 경우가 많습니다. 이런 경우 문서 작성후 파일의 용량이 무척 큰 경우가 생깁니다. 용량이 큰 문서를 열어보면 사진이 첨부된 부분에서 화면이 부드럽게 넘어가지를 않고 순간적으로 멈추는 현상이 있습니다. ...
    Date2018.10.25 Category소프트웨어 By팔공산 Reply0 Views30 file
    Read More
  2. "Adobe flash player을 사용하려면 클릭하세요" - Chrome 해결법

    크롬이 최근 업데이트 후에는 매번 이런 창이 뜨고 있는데 이거 안뜨게 할려면 ...........? 구글 크롬창에 chrome://flags 입력^ 실행하면 Experiments 이라는 제목과 엄청 많은 설정 항목이 뜨는데 ------------------------------------------------ 맨위 ...
    Date2018.09.28 Category인터넷 By팔공산 Reply0 Views38 file
    Read More
  3. 구글 드라이브에 올린 파일 직접 다운로드 링크 넣는 방법

    홈페이지를 호스팅으로 운영하다보면 큰용랑의 파일인 경우 하드용량이나 트래픽이 걱정되는 경우가 종종 생깁니다. 이런 경우 외부링크를 활용하는 경우가 있는데 이번에는 거의 모든 안드로이드 사용자가 가지고 있는 구글 드라이브에 올린 파일을 직접 가져...
    Date2018.09.23 Category홈페이지 By팔공산 Reply0 Views51 file
    Read More
  4. 포토샵 인물,배경 쉽게 지우기

    사진에서 필요 없는 부분만 삭제 하면 더 좋은 사진을 얻을 수 있을때 포토샵으로 간단하게 지우는 방법입니다. 오늘의 이미지로 상하이거리 사진입니다. I SH가 보이죠^.^ 우측 건물위의 cctv를 지워보겠습니다. 너무 쉽나~ 참고로 Photoshop cs6 한글판입니...
    Date2018.09.19 Category소프트웨어 By팔공산 Reply0 Views41 file
    Read More
  5. 포토샵 이미지따기, 머리카락 세세한 부분 따기(일명 누끼따기)

    포토샵 이미지따기, 일명 머리카락 누끼 따는법 알려드릴게요. 보통 이미지 딸때 "펜툴"들을 많이 사용하시는데요, 오늘은 퀵셀렉션툴을 이용해 빠르게 따보겠습니당. 오늘의 이미지입니다. 머리까락 처리하기가 "펜툴"이나 "올가미도구"로는 거의 불가능에 가...
    Date2018.02.06 Category소프트웨어 By팔공산 Reply0 Views334 file
    Read More
  6. 한글문서 파일 합치기

    한글 파일 합치기는 자체 기능을 사용하면 쉽고 간단하게 해결할 수 있습니다. - 먼저 합치려는 첫번째 파일을 한글에서 열고 문서 끝에서 ENTER을 눌러 줄을 띄어주세요. - 상단 메뉴탭에서 "입력" 옆에 있는 작은 ▼ 버턴을 누른후 "문서 끼워 넣기"을 클릭해...
    Date2018.02.02 Category소프트웨어 By팔공산 Reply0 Views744 file
    Read More
  7. 엑셀 시트에 삽입된 그림 추출하기

    엑셀 시트에 삽입된 그림을 추출하는 방법은 여러가지가 있습니다. 1. 각 그림 파일을 복사(Ctrl + C) 후 다른 곳에 붙여넣기(Ctrl + V) 하는 방법. (이 방법을 사용하면 해상도가 많이 떨어지게 된다.)2. VBA(매크로)를 이용하여 시트에 삽입된 각 그림파일을...
    Date2017.05.19 CategoryExcel By팔공산 Reply0 Views838 file
    Read More
  8. 엑셀 VBA 개인용 매크로 통합문서 저장

    이전문서에 엑셀 VBA 매크로 코드를 만드는 방법을 작성했는데요 이번에는 자주 사용하는 매크로 코드를 어떠한 문서를 열던지 작동 되도록 하는 방법을 작성 해보도록 하겠습니다. 일단 매크로가 엑셀 메뉴에 안 보이실거에요. 파일 > 옵션 > 리본 사용자 지...
    Date2016.07.12 CategoryExcel By팔공산 Reply2 Views2118 file
    Read More
  9. 엑셀 메크로 그림(이미지)을 엑셀 파일에 직접 포함시키는 방법

    엑셀작업을 하다보면 VBA 메크로로 셀에 자동맞춤으로 이미지를 삽입되게 하면 이미지작업이 많을시 무척 편리하게 이용할 수 있습니다. [VBA메크로 만드는 방법] 열려진 엑셀문서에서 Alt+F11(단축키)를 실행하면 VBA창이 열립니다. 삽입 - 모듈을 선택하면 ...
    Date2016.07.11 CategoryExcel By팔공산 Reply19 Views11836 file
    Read More
  10. 모바일팩스 - 무료로 Fax 수신번호도 받고 송신도 가능하네요!

    SK텔링크는 2014.11.04.에 스마트폰에서 손쉽게 주고받을 수 있는 팩스를 출시했습니다.모바일 애플리케이션(앱) : [SK텔링크 모바일팩스]요금부과방식 : 팩스 한장당 스마트폰의 멀티미디어메시지(MMS) 가 2건씩 차감,별도의 추가 요금이 없음.전송방식 : 별...
    Date2015.01.07 Category스마트폰 By팔공산 Reply0 Views1360 file
    Read More
목록
Board Pagination Prev 1 2 3 4 5 ... 11 Next
/ 11
  • 문하우스는 IE11이상, Google Chrome, 1280*1024 이상의 모니터 해상도에서 최적화 되어 있습니다.무단 E-mail 추출이나, 무단,성인광고를 허용치 않습니다.
서버에 요청 중입니다. 잠시만 기다려 주십시오...