커뮤니티

엑셀에 종목코드를 넣고 읽는법

프로필 이미지
서윤
2016-08-30 14:31:46
1853
글번호 223976
답변완료
안녕하세요. 특정 종목에 대하여 현재가나 잔고에 남아있는 계약수등을 읽어들이려고 하는데요. 단, 종목객체를 지정하지 않고서 그 종목코드를 엑셀로 부터 읽어들이려고 합니다. 예스스팟에서 구현 가능한지 알고 싶네요. 예를들어서, 엑셀에 종목코드를 넣어놓고서, for (var i = 1 ; i < tot_st+1 ; i++) { code[i-1] = Excel1.GetData(1, "B"+i); } 와 같이 받은 후에 필요할 때에 code[i].current code[i].count code[i].Bid(1) 와 같은 데이터를 받는 방법을 알고 싶습니다.
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-09-09 15:24:34

안녕하세요 예스스탁입니다. main객체의 함수중에 수식안에서 종목객체를 요청할수 있는 ReqMarketData란 함수가 있습니다. 아래 내용 참고하시기 바랍니다, var ExcelCode = []; var Code = []; var rcv; function Main_OnStart() //특정이벤트에서 { //엑셀에서 종목코드를 가져와 ExcelCode에 저장 ExcelCode = []; for (var i = 1 ; i < tot_st+1 ; i++) { ExcelCode[i-1] = Excel1.GetData(1, "B"+i); } //객체수신 횟수를 카운트할 변수 rcv = 0; //객체수신하면 저장할 배열변수 Code = []; //ExcelCode에 저장된 값이 1개이상이면 if (ExcelCode.length >= 1) { //ExcelCode[rcv]방의 종목요청 Main.ReqMarketData(ExcelCode[rcv]); } } function Main_OnRcvMarketData(MarketData) { //직전 요청산 종목이 수신되면 if (MarketData.code == ExcelCode[rcv]) { //Object의 rcv방에 해당종목객체 저장 Code[rcv] = MarketData; //rcv는 1증가 rcv = rcv+1; //배열변수가 0부터 존재하므로 //rcv가 종목코드갯수 이하일때만 요청 if (rcv < ExcelCode.length) { Main.ReqMarketData(ExcelCode[rcv]); } } } 즐거운 하루되세요 > 서윤 님이 쓴 글입니다. > 제목 : 엑셀에 종목코드를 넣고 읽는법 > 안녕하세요. 특정 종목에 대하여 현재가나 잔고에 남아있는 계약수등을 읽어들이려고 하는데요. 단, 종목객체를 지정하지 않고서 그 종목코드를 엑셀로 부터 읽어들이려고 합니다. 예스스팟에서 구현 가능한지 알고 싶네요. 예를들어서, 엑셀에 종목코드를 넣어놓고서, for (var i = 1 ; i < tot_st+1 ; i++) { code[i-1] = Excel1.GetData(1, "B"+i); } 와 같이 받은 후에 필요할 때에 code[i].current code[i].count code[i].Bid(1) 와 같은 데이터를 받는 방법을 알고 싶습니다.