2013-06-14 4 views
11

나는 VBA를 사용하여 스프레드 시트에 그림을 삽입하기 위해 xlApp.activesheet.Pictures.Insert(strImagePath)에 관한 게시물을 많이 보았습니다. 유일한 문제는 링크 된 그림으로 삽입한다는 것입니다. 따라서 스프레드 시트를 Google 네트워크에서 보내면 이미지가 제대로 표시되지 않습니다. 누구든지 Pictures.Insert을 사용하여 임베디드 이미지 또는 임베디드 이미지로 삽입하는 방법을 알려줄 수 있습니까? 나는이 메소드가 액세스하는 데 도움이된다면이 메소드를 호출한다고합니다.삽입 할 VBA 임베디드 그림을 Excel

답변

18

당신은 shapes.addpicture 방법 당신이 다음 원본 이미지의 높이와 폭을 유지 -1 필요한 너비 및 높이 매개 변수를 설정할 수 있습니다

activesheet.Shapes.AddPicture Filename:="C:\test\desert.jpg", linktofile:=msoFalse, _ 
      savewithdocument:=msoCTrue, Left:=0, Top:=0, Width:=100, Height:=100 
+0

감사 @JosieP! 이것은 잘 작동합니다. 이제는 Shape 객체에 할당하여 일부 조정을 할 수있게되었습니다. 나는'Dim shpPic as Shape '과'Set shpPic = xlApp.activesheet.Shapes.AddPicture ...'를했는데 형식 불일치 오류가 발생했습니다. 왜 그런가? – DasPete

+0

xlApp 부분을 기반으로합니다. 다른 앱에서 자동화하고있는 것 같습니다.이 앱에는 Shape 객체가 있습니까? 그렇다면 '희미한 shpPic을 Excel.Shape'로 사용하십시오. – JosieP

+0

안녕하세요 @ JosieP, 예. Access에서 전화하겠습니다. 엑셀 라이브러리에 대한 참조를 원하지 않기 때문에 'Excel.Shape'를 사용할 수 없습니다. 사용자가 많은 시스템을 가지고 있기 때문입니다. 나는 xlApp = CreateObject ("Excel.Application")'을 설정했다. 그래서'Dim shpPic = xlApp.Shape'을 시도했는데 "정의되지 않은 사용자 정의 유형"을 제공했다. 오류. 어떤 아이디어? – DasPete

0

주를 사용할 수 있습니다!

Activesheet.Shapes.AddPicture Filename:="C:\image.jpg", LinkToFile:=msoFalse, _ 
     SaveWithDocument:=msoTrue, Left:=0, Top:=0, Width:=-1, Height:=-1 

http://excelmatters.com/2013/11/25/default-picture-size-with-shapes-addpicture/

(나는 연령대이 문제로 고생했는데 다른 곳에서는 문서화 된이 솔루션을 찾을 수없는 것처럼 가시성을 높이기 위해 다른 답변으로 추가되었습니다.)