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

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

[ XML PARSING ] 오픈 API 관련된 질문입니다.

VBA 조회 수 2830 추천 수 0 2012.07.26 16:31:50

밑에 분도 관련해서 질문드린 글을 보았습니다만..


제가 VBA만 어설피 만질 줄 알아서 다른거와 연동하는 부분에 있어서 상당히 약합니다.


http://dev.naver.com/openapi/


여기서 봤지만  VBA와 어떻게 연동을 시켜야 할지 전혀 감이 안잡혀서 정말 힘든 질문을 드립니다 ㅠㅠ


영화 데이터베이스(예를 들어 영화인 순위 1~100위, 그에 따른 영화인들의 출연영화 목록 및 페이지 주소 등등)을 가져오고자 하는데 어떤식으로 해야되는지 정말 간단한 예제만 하나 만들어주시면 제가 응용해서 해보겠습니다 ㅠㅠ


현재 쓰는 엑셀은 2007이며, OS는 7 64bit입니다. 별 중요한건 아니겠지만..ㅠ


고생하십시오..


댓글 '3'

[레벨:2]난호

2012.07.27 16:18:16
*.36.51.250

지금은 xml주소로 가져오기 한 다음에 행과 열을 편집하는 매크로로 해본 상태입니다..

profile

[레벨:30]아별

2012.08.01 11:53:01
*.104.126.21

난호님..

안녕하세요? ㅎㅎ 답변이 늦어졌네요..

개인적으로 회사 다니랴, 애들 가르치랴, 책 쓰랴, 프로그램 개발하랴.. 좀 바쁜 시간이었습니다.

예전에 샘플로 만들어 봤던 코드를 살짝 수정해서 공유합니다.

 

 

첨부파일을 참고하세요..

다운받기 : abyul.com_20120801_naverAPI_XML_Parsing-1.xlsm

 

코드 보기..

Option Explicit

'### Refer to XML DOM
'### code by Joowon Oh  '### 2011.12.26 21:05
'### http://abyul.com/  '### abyul@naver.com
Sub naverAPI()
    '### DOMDocument 형식을 사용하려면, 도구 > 참조에서
    '### Microsoft XML 3.0을 참조시켜줘야합니다.
    Dim XmlDoc As DOMDocument: Dim blnXml As Boolean
    Dim strFileName As String: strFileName = "abyul.com_XML.xml"
    Dim strAPIKey As String
    '### 네이버API를 사용하기 위해서는 개인별로 Key를 받아야합니다.
    '### 아래 사이트에서 키를 받으세요..
    '### https://dev.naver.com/openapi/register
    strAPIKey = "개인별로받으셔야함다" '### ◀==이 부분에 꼭 개인키를 넣어야 동작합니다!!!!
    If strAPIKey = "개인별로받으셔야함다" Then
        MsgBox "네이버에서 개인 API키를 받으셔야합니당.. ㅎㅎ" & vbNewLine & _
            "확인 누르시면 해당 사이트로 이동합니당..", vbInformation, "친절한 아별닷컴 주인장 쵝오.."
        Dim ie As Object, objDoc As Object
        Set ie = CreateObject("internetexplorer.application")
        ie.Navigate "https://dev.naver.com/openapi/register"
        ie.Visible = True
        Exit Sub
    End If
    Dim strPath As String: strPath = "http://openapi.naver.com/search?key=" & strAPIKey & "&query=nexearch&target=rank"
    strPath = "http://openapi.naver.com/search?key=" & strAPIKey & "&query=movie&target=ranktheme"
    Dim strTitle As String: strTitle = " XML 파일 불러오기 에라.. abyul.com"
    Dim strMsg As String: strMsg = strPath & "파일을 불러오다가 에러가 발생했습니다."
   
    Set XmlDoc = CreateObject("Microsoft.XMLDom")
    blnXml = XmlDoc.Load(strPath)
    Application.Wait (Now + TimeValue("0:00:1"))
    Dim shtTarget As Worksheet: Set shtTarget = Sheets.Add
    Dim rngTarget As Range: Set rngTarget = shtTarget.Range("B4")
    Dim i As Integer, j As Integer, k As Integer
   
    If blnXml = True Then
        Range(rngTarget.Offset(-1, 0), rngTarget.Offset(-1, 3)) = Array("No", "Key", "Rank", "Rank")
        With XmlDoc.ChildNodes(1)
            For i = 0 To .ChildNodes(0).ChildNodes.Length - 1
                'rngTarget.Offset(i, 0) = .ChildNodes(0).ChildNodes(i).nodeName
                rngTarget.Offset(i, 0) = i + 1
            Next i
            For i = 0 To .ChildNodes.Length - 1
                For j = 0 To .ChildNodes(i).ChildNodes.Length - 1
                    For k = 0 To .ChildNodes(i).ChildNodes(j).ChildNodes.Length - 1
                        rngTarget.Offset(j, i + 1 + k) = .ChildNodes(i).ChildNodes(j).ChildNodes(k).Text
                    Next k
                Next j
            Next i
        End With
        Set XmlDoc = Nothing
    Else
        MsgBox strMsg & vbCrLf & Err.Number & " : " _
               & Err.Description, vbCritical, strTitle
    End If

    rngTarget.CurrentRegion.Columns.AutoFit

End Sub

 

 

첨부

[레벨:2]난호

2012.08.01 15:44:07
*.36.51.250

정말 감사합니다! 감사히 받고 잘 연구해보겠습니다!

문서 첨부 제한 : 0Byte/ 2.00MB
파일 제한 크기 : 2.00MB (허용 확장자 : *.*)
List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 공지 [공지] 아별닷컴의 엑셀 질문방 폐쇄합니다. 카페 질문방 이용하세요.. imagefile [레벨:30]아별 2015-04-23 44867
33 VBA .Find 주소 검색기 이름중복검색 file [3] [레벨:1]최종원 2012-08-07 3090
32 VBA sub과function차이 [4] [레벨:2]snail0513 2012-08-07 2317
» VBA [ XML PARSING ] 오픈 API 관련된 질문입니다. [3] [레벨:2]난호 2012-07-26 2830
30 VBA 조건문을 변수화 하는 방법 [2] [레벨:3]엑셀대단해 2012-07-23 6645
29 VBA 필터된 데이터 가져오기 시 문제점 [5] [레벨:3]엑셀대단해 2012-07-23 4127
28 VBA 시트와 차트에 따라 다른 함수 실행? [4] [레벨:3]고독한나그네 2012-07-14 1843
27 VBA [긴급] Range 범위 "A2:A10" -> 를 변수로 받게 하는 방법.. file [3] [레벨:1]마리너 2012-07-05 4418
26 VBA 셀에 맞춰 그림 삽입하기 [1] [레벨:5]눈물바다 2012-06-05 7782
25 VBA 도형에 회전에 관해서.... [5] [레벨:2]루이비나 2012-05-27 3436
24 VBA 데이터가 있을 경우 수식 넣기?? [4] [레벨:1]아우릭 2012-03-20 2901
23 VBA 데이터 수집 질문_01 입니다. file [2] [레벨:1]아우릭 2012-03-20 2660
22 VBA 오늘은 간단한 것 질문할께요 _ VBE 모듈, 유저폼 내보내기(Export) 방법 [4] [레벨:3]엑셀대단해 2012-03-05 3158
21 VBA 외부 어플리케이션 실행 & 유저폼 일괄 닫기 & 리본 메뉴 사용자 추가 탭 숨기거나 보이게 하는 방법 [7] [레벨:3]엑셀대단해 2012-02-08 4736
20 VBA 동적 데이터 교환 질문 [1] [레벨:3]바람 2011-12-27 2915
19 VBA 아별님 안녕하세요 질문이 하나 있습니다 ^^ file [3] [레벨:0]하이버리 2011-12-09 2818
18 VBA 랜덤 출력 관련 짧고 간결(?)한 3가지 질문입니다. _ 중복 없는 랜덤 패스워드 생성하는 방법.. [4] [레벨:6]파이스 2011-11-29 6695
17 VBA 갑자기 궁금해서 질문드리는건데요... _ VBA를 다른 오피스 프로그램에서 사용 가능한지..? [3] [레벨:6]파이스 2011-11-27 3302
16 VBA 2개의 시트를 비교하여 다른 부분을 찾아내는 프로시저 질문입니다! file [3] [레벨:6]파이스 2011-11-24 4925
15 VBA 아별님 안녕하세요? 파이스입니다. _ 엑셀창과 VBE창 창전환 쉽게 하는 방법 [3] [레벨:6]파이스 2011-11-23 3583
14 VBA 질문있습니다. 아뵬님. ㅠ _ 텍스트 박스 회전시키는 VBA 코드 [1] [레벨:6]ryanoh 2011-11-15 2995