2012-01-24 3 views
3

Excel 시트에 .gif 파일에 대한 URL 목록이 있습니다. 이 웹 사이트를 쿼리하고 동일한 워크 시트에 이러한 이미지를 삽입하려면 VBA를 사용하고 싶습니다. 수VBA를 사용하여 웹에서 이미지 (gif)를 Excel로 가져올 수 있습니까?

"http://.../blah.GIF를 열 수 없습니다 인터넷 사이트 : 기능 웹 사이트를 조회 할 수 있지만 다음과 같은 오류를 반환 - 나는 엑셀 2007

나는 '웹에서 외부 데이터 가져 오기'를 사용하여 시도

을 사용하고 있습니다. 요청한 객체를 반환하십시오. (HTTP/1.0 403) "

Excel이이 기능을 사용하여 온라인 이미지를 가져올 수 없기 때문에이 방법이 사용됩니까? 아니면이 문제는 특별히 웹 사이트와 관련이 있습니까?

가장 중요한 것은 VBA에서이 작업을 완전히 수행 할 수있는 다른 방법이 있습니까?

답변

9

예, 그렇게 할 수 있습니다. 사실 꽤 쉽습니다. Excel에는 AddPicture 함수가 있습니다. Excel VBA 도움말 :

표현AddPicture 입력이 같은 (파일 이름, LinkToFile, SaveWithDocument, 왼쪽, 위쪽, 너비, 높이)

사용 :

Sheets(1).Shapes.AddPicture "http://www.mywebsite.com/images/map.gif" _ 
          , msoFalse, msoTrue, 100, 100, 500, 600 

왼쪽, 위쪽, 너비, & 높이 필요한 모든 포인트에 있습니다.

+0

이것은 내가 찾고있는 것입니다. 고맙습니다! – Excellll

+0

+1 좋은 대답 – JimmyPena

+0

저는 Excel VBA를 처음 사용합니다. 이 코드는 어디에서 입력해야합니까? –

3

먼저 이미지를 다운로드하고 싶습니다. 이것을하기위한 몇 가지 방법이 있습니다. URLDownloadToFile API를 사용합니다.

Use the URLDownloadToFile API function to download a file from a URL into a file * :

Private Declare Function URLDownloadToFile Lib "urlmon" _ 
    Alias "URLDownloadToFileA" (ByVal pCaller As Long, _ 
    ByVal szURL As String, ByVal szFileName As String, _ 
    ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long 

(* 전체 코드에 대한 방문 링크)

는 다음과 같은 코드 샘플은 당신이 좋아하는 곳 워크 시트에 그들을 가져옵니다 : Insert pictures using VBA in Microsoft Excel에서

* :

Sub TestInsertPicture() 
    InsertPicture "C:\FolderName\PictureFileName.gif", _ 
     Range("D10"), True, True 
End Sub 

(* 방문 링크 ull code)

원본 작성자에게 공평하게하기 위해이 코드 전체를 다시 게시하지 않겠습니다. 대부분 링크 기반 답변에 대한 사과.

관련 문제