반응형
하드디스크에 저장되어있는 이미지(JPG, BMP, PNG 등) 그림 파일을 특정 셀 위치에 삽입하는 매크로를 작성하였다. 삽입된 이미지 그림의 크기와 위치 조정도 가능하도록 하였다.
1. Sheet 지정
아래와 같이, 따옴표 안에 시트이름을 설정하여, 이미지 그림을 삽입하고자 하는 시트를 지정해준다.
Sheets( "시트명")
2. 셀 지정
아래와 같이, Cells 키워드를 사용하여, 이미지 그림을 넣고자하는 위치를 지정해준다.
여기서, Cells( 세로 위치, 가로 위치) 가 된다.
Cells( 세로 위치, 가로 위치).Select 명령으로 커서의 위치가 해당 셀로 이동하게 된다.
Sheets("시트명").Cells(2, 27).Select
3. 이미지 그림 삽입
이미지 그림은 Pictures.insert(경로명)으로 삽입한다.
그러나, 삽입한 이후에 해당 이미지를 수정 / 편집해야할 수 있으므로, 변수로 지정하여 아래와 같이 설정해 둔다.
Set ofig = Sheets("시트명").Pictures.Insert("D:\figure\test.jpg")
4. 삽입된 이미지 그림 크기 조정
삽입된 이미지의 크기는 ScaleHeight를 사용하여 비율로 조정할 수 있다.
ofig.ShapeRange.ScaleHeight 0.42, msoFalse, msoScaleFromTopLeft
5. 삽입된 이미지 그림 위치 조정
삽입된 이미지의 위치 조정은 IncrementLeft / IncrementRight 로 가능하다.
그러나, 미세 조정하는 방법은 크기를 지정해줘야하는 번거로움이 있으므로,
가급적 셀의 위치로 삽입하는 것이 좋을 것 같다.
ofig.ShapeRange.IncrementLeft 49.5
ofig.ShapeRange.IncrementTop 45
6. 최종 코드
하드디스크에 저장된 이미지 그림을 특정 셀 위치에 삽입하고,
크기 조정 후 미세 조정하는 Sample Code는 다음과 같다.
' 이미지 그림을 삽입하고자하는 시트위 셀 위치 지정
Sheets("시트명").Cells(2, 27).Select
' 하드디스크에 저장된 이미지 파일을 선택 후 삽입
Set ofig = Sheets("시트명").Pictures.Insert("D:\figure\test.jpg")
'이미지 그림의 크기 조정
ofig.ShapeRange.ScaleHeight 0.42, msoFalse, msoScaleFromTopLeft
' 삽입된 이미지 그림의 미세 위치 조정
ofig.ShapeRange.IncrementLeft 49.5
ofig.ShapeRange.IncrementTop 45
반응형
'EXCEL > VBA' 카테고리의 다른 글
VBA - Insert Multi Array, 배열에 배열 삽입 (0) | 2023.10.13 |
---|---|
VBA - 셀 범위 선택 Cells / Range Select (0) | 2023.10.04 |
VBA - MS WORD 자동화 (5) - 특정 페이지, 줄번호 이동 (0) | 2023.09.12 |
VBA - MS WORD 자동화 (4) - WORD STYLE 스타일 지정 (0) | 2023.09.12 |
VBA - MS WORD 자동화 (3) - WORD FILE 쓰기 (0) | 2023.09.12 |