본문 바로가기
엑셀/VBA

VBA 사진 추가하는 방법 (Shapes.AddPicture)

by 큐브빌드 2024. 4. 7.
반응형

VBA를 활용하여 사진을 추가하는 방법은 2가지 있습니다.

 

그 중 1개인 Shapes.AddPicture 내용을 작성하겠습니다.

 

사실 Pictures.Insert를 했을 때 이미지 위치가 변경되거나 파일이름이 변경되면

이런 현상이 발생합니다.

 

※ 참고로 Pictures.Insert는 엑셀 자체에서 제공하는 [매크로 녹화]를 활용하면 이미지를 저렇게 입력합니다.

 

그래서 링크가 아닌 엑셀 파일에 이미지를 포함시켜서 삽입가능한

 

Shapes.AddPicture 에 대해서 설명할려고 합니다.

Function AddPicture(Filename As String, LinkToFile As MsoTriState, SaveWithDocument As MsoTriState, Left As Single, Top As Single, Width As Single, Height As Single) As Shape

 

LinkToFile과 SaveWithDocument의 경우 MsoTriStat를 사용해야 합니다.

 

사실 이것저것 복잡하고 결과적으로 아래와 같이 사용합니다.

Worksheets(1).Shapes.AddPicture "D:\ABC.JPG", msoFalse, msoCTrue, 0, 0 , 100, 100

 

풀이를 해보자면

Worksheets(1).Shapes.AddPicture : 첫번째 워크시트에 사진을 추가한다.

"D:\ABC.JPG" : D 드라이버에 있는 ABC.JPG 파일을 추가한다.

msoFalse : 이미지를 엑셀파일과 링크를 하지 않는다.

msoCTrue : 문서에 포함하여 저장한다.

0, 0 : 왼쪽과 윗쪽에서 얼마나 떨어진 위치에 배치 할 것인지 결정한다.

100,100 : 이미지 사이즈의 폭과 높이를 결정한다.

 

이렇게 됩니다.

 

반응형

댓글