블로그 이사 합니다.

 안녕하세요, 공돌투자자 입니다. 애드센스를 통과했음에도 흥행에 참패하여 다시 네이버로 돌아갑니다 ㅜㅜ 네이버로 관련 콘텐츠들을 조금씩 이동하고 네이버 내에서 기존 주식 투자 관련 컨텐츠와 함께 운영하도록 할게요. 혹시나 구독하신 분들, 찾아주신 분들께 죄송한 마음입니다. https://blog.naver.com/gdtooza '공돌투자자, 부의 사다리'  이곳으로 찾아와주세요. 실제적인 경제교육 + 투자 블로그로 운영하도록 하겠습니다. 감사합니다.

엑셀 VBA 이베스트투자증권 xingAPI 사용하기 : 로그인

다른 API를 사용하기 전에 로그인이 되어있어야 한다.


다른 API를 사용하기 위해 로그인 API를 통해 이베스트투자증권 서버에 로그인이 되어야 한다.

서버연결, 로그인 등을 위해서는 XASession 객체를 사용한다.

예제 파일 등에도 로그인 코드 등은 기본적으로 존재하니 참초하면 된다. 구지 로직을 이해할 필요가 없다. 복사 + 붙여넣기 후 자신의 ID/비밀번호/공인인증서비밀번호 등을 수정하길 바란다. 그리고 모의투자/실투자에 대한 부분만 수정하면 된다.


소스를 복붙하고 수정이 필요한 부분만 바꾸자. 


Dim WithEvents XASession_Excel As XASession                                 '로그인 세션
Const ip_demo As String = "demo.ebestsec.co.kr"                             'ip, 모의투자서버
Const ip_hts As String = "hts.ebestsec.co.kr"                               'ip, 실투자서버
Const port As String = "20001"                                              'port 번호
Dim accountNum As String                                                    '계좌번호



Public Sub Login()
    On Error Resume Next

    Dim ip As String
    Dim id As String
    Dim pw As String
    Dim certpw As String
    Dim demo As Integer

    '-------------모의투자 시 이곳을 수정하세요-----------------'
    ip = ip_hts                                 '실투자서버, 모의투자 시 ip_demo 입력
    '-------------모의투자 시 이곳을 수정하세요-----------------'

    '-------------이곳을 수정하세요-----------------'
    id = "본인의 아이디"                        'id
    pw = "본인의 패스워드"                      'password
    certpw = "본인의 공인인증서 패스워드"       '공인인증비밀번호
    '-------------이곳을 수정하세요-----------------'

    'XASession 객체 만들기
    If XASession_Excel Is Nothing Then
        Set XASession_Excel = CreateObject("XA_Session.XASession")
    End If
    '서버에 연결
    Call XASession_Excel.DisconnectServer

    If XASession_Excel.ConnectServer(ip, port) = False Then
        MsgBox "서버연결실패"
    Exit Sub
    End If


    If XASession_Excel.Login(id, pw, certpw, 0, False) = False Then
        MsgBox "로그인 전송 실패"
    Else
        Debug.Print "로그인 성공"
    End If
End Sub


'----로그인 Callback-----------
Private Sub XASession_Excel_Login(ByVal szCode As String, ByVal szMsg As String)
    Debug.Print "[Sub procedure]XASession_Excel_Login"
    MsgBox "[" & szCode & "]" & szMsg

    If szCode = "0000" Then                                     '로그인성공
        nAccountCount = XASession_Excel.GetAccountListCount
        accountNum = XASession_Excel.GetAccountList(0)          '첫번째 계좌를 가져옴
    End If
End Sub

댓글

이 블로그의 인기 게시물

희대의 작전주 새롬기술(feat. 재벌집 막내아들 뉴데이터테크놀로지)

홈택스 미성년자 증여 신고 방법

자동매매 환경 setting (엑셀 vba 사용 기준) : 증권사, 개발 언어의 선택