1. FAQ
  2. 엑셀(Excel)
  3. AfterEffects
  4. Premiere
  5. Photoshop
  6. ETC

이 게시판은 아별닷컴 회원만 질문을 올릴 수 있습니다. 회원에게 주어지는 특권인셈이지요. 회원이 아닌 분들은 열람만 가능합니다.

사진넣기

조회 수 8112 추천 수 0 2009.07.29 15:34:29

안녕하세요 . 엑셀에대해서 잘모르고요 물어봐도 아는 사람이 없네요..

짐올린서식도 아는사람한테 부탁해서 만들었는데요

예를 들어 점명만 치면 숫자나 문자는 자동으로 들어가는데요

문제는 사진을 일일이 넣어야 하는데

점명만 치면 사진도 자동으로 넣는 방법이 있나요?

평택22를 치면 표석대장씨트엔 "평택22표지'란사진이 조사현황씨트엔 '평택22근경'  '평택22원경'이란사진이

자동으로 넣을수 있나요?(사진이름은 평택22표지 평택근경 평택22원경  이렇게 다른 폴더에 만들어져있다면요)

이게 가능할지는 모르겠구요

읽어 주심에 감사드림니다.

수고하세요.

 


댓글 '3'

profile

[레벨:30]아별

2009.07.31 02:31:08
*.130.73.19

첨부파일을 다운 받아, 압축을 푸시고 엑셀 파일을 여신다음..

"J5"셀의 값을 평택419, 평택422, 평택423 으로 바꿔서 선택해보세요.

엑셀 파일이 저장되어 있는 폴더 밑에 있는 images라는 폴더에 있는 해당 이미지를 가지고와서 셀 사이즈에 맞게 쏙 들어갑니다.

 

다운받기 : abyul_20090729_insertPicture.zip

 

솔직히..

이걸 해드릴까 말까 살짝 고민을 했지요.. ㅎㅎ

만드는 방법을 설명을 해드라자니 막막합니다. =_=;;

 

일단 보시지요...

 

기본적으로 엑셀의 기본 기능으로는 불가능합니다. VBA를 사용하실 수 밖에 없구요..

만약에 별도의 시트에 이미지가 모두 첨부되어 있다면.. 이름을 이용해서 동적 참조가 가능할 수도 있겠지만..

파일을 열어서 첨부하는 문제이니.. VBA로 할 수 밖에 없습니다.

 

코드에 주석을 열심히 달아놨습니다만.. 아래 코드를 이해하실 수 있을지는 잘 모르겠습니다.

생각보다 시간이 많이 걸렸구요.. 고생했습니다. 애썼다 한말씀해주세요.. ㅎㅎ

 

Option Explicit

Public pointNumber  As String


Sub insertPicture()

    '엑셀 파일이 있는 경로를 변수로 지정합니다.
    Dim basePath As String
    basePath = ActiveWorkbook.Path

    '작업할 시트들을 변수로 지정합니다.
    '그래야 나중에 시트 이름을 바꿔도 아래 2줄만 바꾸면 되게끔요..
    Dim S_ps As Worksheet
    Set S_ps = Worksheets("표석대장")
    Dim S_js As Worksheet
    Set S_js = Worksheets("조사현황")

    '삼각점번호의 값을 masterCode라는 변수에 집어 넣지요~
    Dim masterCode As String
    masterCode = S_ps.Range("J5").Value

    '사진 삽입에 필요한 변수 정의
    Dim R As Range
    Dim strFile As String

        '사진을 삽입하기 전에 기존 사진을 제거합니다.
        S_ps.Select
        If ActiveSheet.DrawingObjects.Count > 0 Then
            Call deleteObject
        End If

    '표석 대장 시트에 표지 사진 입력
    Set R = S_ps.Range("G20:AJ42")
    strFile = basePath & "\images\" & masterCode & "표지.JPG"
    Call resizePic(S_ps, R, strFile)

        '사진을 삽입하기 전에 기존 사진을 제거합니다.
        S_js.Select
        If ActiveSheet.DrawingObjects.Count > 0 Then
            Call deleteObject
        End If

    '조사현황 시트에 근경 사진 입력
    Set R = S_js.Range("A3:M3")
    strFile = basePath & "\images\" & masterCode & "근경.JPG"
    Call resizePic(S_js, R, strFile)

    '조사현황 시트에 원경 사진 입력
    Set R = S_js.Range("A5:M5")
    strFile = basePath & "\images\" & masterCode & "원경.JPG"
    Call resizePic(S_js, R, strFile)
   
    S_ps.Select
    S_ps.Range("J5").Select
   
    pointNumber = Worksheets("표석대장").Range("J5").Value

End Sub

'시트에 이미지 삽입 후에 셀 사이즈에 맞게 이미지 조정.
' resizePic( 삽입할 시트, 삽입할 셀 영역, 삽입할 파일 이름 )
Sub resizePic(S As Worksheet, R As Range, strFile As String)
    S.Select
    R.Select
   
    Dim fileName As String
    fileName = Dir(strFile)
   
    If Len(fileName) > 0 Then
        S.Pictures.Insert(strFile).Select
        With Selection
            .Top = R.Top
            .Left = R.Left
            .Height = R.Height
            .Width = R.Width
        End With
    Else
        MsgBox "화일이 없어요~", vbInformation, "이미지 삽입 에러창"
        S.Range("j5").Select
        End
    End If
End Sub


'사진을 삽입하기 전에 기존 사진을 제거합니다.
Sub deleteObject()
    ActiveSheet.DrawingObjects.Select
    Selection.Delete
End Sub

 

 

 

첨부

[레벨:4]우보천리

2009.07.31 10:15:33
*.46.130.152

이 고마움 어떻게 말씀드려야 될지 모르겠슴니다.

안돼는 구나 ... 포기 했었슴니다.

저 때문에 고생하신것 같아 죄송하구요..

주석까지 달아주셨는데  잘모르겠어요..

이기회에  함 공부좀 해야 겠슴니다.

정말 고맙슴니다 .. 꾸벅

저한테 기회가 돼면 만나 뵙고 싶네요..ㅎㅎ

혹 천안 오실기회가 되면 연락 함 주세요..

(강아지 사진두 이쁘구요.. ㅎㅎ)

 

 

 

profile

[레벨:30]아별

2009.08.02 01:33:20
*.130.73.19

엑셀은 정말 무궁무진한 프로그램입니다. ㅎㅎ

천안 갈일 있음 전화드릴께요.. 꼭 밥 한끼 사주세요.. ^-^;;

 

강아지는 제 쎈쓰죠~ ㅎㅎ

iWontYou.jpg

첨부
문서 첨부 제한 : 0Byte/ 2.00MB
파일 제한 크기 : 2.00MB (허용 확장자 : *.*)
List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 공지 [공지] 아별닷컴의 엑셀 질문방 폐쇄합니다. 카페 질문방 이용하세요.. imagefile [레벨:30]아별 2015-04-23 48084
22 가르쳐주세요 [2] 초보 2009-07-05 4309
21 엑셀에서 동작에 따른 이벤트를 발생시킬 때... [1] [레벨:1]DATA 2009-07-05 5109
20 질문입니다. 아별툴하고는 상관없다능. [2] 서윤구 2009-07-04 5250
19 문의 드립니다. [2] [레벨:1]암사내 2009-07-03 5394
18 2007에서 그래프 사용시 [2] [레벨:1]푸른바다 2009-07-03 5935
17 질문입니다 [1] account 2009-07-03 4901
16 엑셀 문의드립니다. file [2] [레벨:1]꺼벙이아저씨 2009-07-03 5147
15 .질문.... [5] [레벨:1]둥이아범 2009-07-03 5535
14 도와주세요. 엑신~~ [3] [레벨:2]리자딘 2009-07-03 5637
13 엑신께 질문합니다!!!!! [2] 엑셀초봅자 2009-07-03 5444
12 VBA .Find ListBox1 에 추가가 되지를 않습니다. file [3] [레벨:1]사오정원조 2009-07-03 7242
11 VBA .Find 매크로 질문입니다.~ [2] [레벨:1]카멜 2009-07-02 7207
10 셀 서식에서 원하는 서식으로 고정하기 [3] [레벨:1]kwihan 2009-07-02 7510
9 엑셀 통계표 작성시 함수 좀.... (2가지 조건 이상을 만족하는 데이터의 카운팅 방법) file [4] [레벨:1]칠보산 2009-07-02 7543
8 엑셀을 사용해 교육 대상자 중에 신청자를 가려내고 싶은데.. 알려주세요. ㅠㅠ file [2] 초보 2009-07-02 5605
7 abyul Excel Tool관련 문의 [1] [레벨:1]겸둥이 2009-07-02 5573
6 엑신께..문의합니다. [2] [레벨:1]와룡선생 2009-07-01 5055
5 초보 엑셀사용자입니다. 회사안에선 아무도 모르는 거라 엑신님께 여쭈어봅니다.!! [1] 박민철 2009-07-01 5835
4 어떻게 하면 이렇게 변환하는 기능을 만들수 있을까요? file [1] [레벨:1]칼리스토 2009-07-01 5726
3 엑셀관련해서 여쭈어 보고 싶습니다... file [1] [레벨:1]사물 2009-07-01 5518