다른 API를 사용하기 전에 로그인이 되어있어야 한다.
다른 API를 사용하기 위해 로그인 API를 통해 이베스트투자증권 서버에 로그인이 되어야 한다.
서버연결, 로그인 등을 위해서는 XASession 객체를 사용한다.
예제 파일 등에도 로그인 코드 등은 기본적으로 존재하니 참초하면 된다. 구지 로직을 이해할 필요가 없다. 복사 + 붙여넣기 후 자신의 ID/비밀번호/공인인증서비밀번호 등을 수정하길 바란다. 그리고 모의투자/실투자에 대한 부분만 수정하면 된다.
소스를 복붙하고 수정이 필요한 부분만 바꾸자.
Dim WithEvents XASession_Excel As XASession
Const ip_demo As String = "demo.ebestsec.co.kr"
Const ip_hts As String = "hts.ebestsec.co.kr"
Const port As String = "20001"
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
id = "본인의 아이디"
pw = "본인의 패스워드"
certpw = "본인의 공인인증서 패스워드"
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
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
댓글
댓글 쓰기