커뮤니티

종목검색한 결과에서..

프로필 이미지
edan
2020-10-19 00:05:40
2684
글번호 225341
답변완료
안녕하세요, 1분에 한번씩 종목검색한 결과를 엑셀로 업데이트 할수 있을까요? 1분에 한번씩 자동으로 종목검색을 하고 그 결과를 엑셀로 업데이트 하도록 구현할 수 있을까요? 표시하는것 뿐 아니라 그전 결과와 비교하여 색강조 까지 생각하고 있습니다. 예스스팟으로 구현가능한지, 간단한 예시를 주시면 도움이 많이 될것 같습니다. 감사합니다.
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-11-20 12:55:40

안녕하세요 예스스탁입니다. 1 스팟에서 종목검색은 종목검색식명을 지정해 검색하는 것은 아니고 예스트레이더 [5201]파워종목검색화면이나 NH트레이더 [5201]종목검색화면에서 랭귀지로 작성한 종목검색등을 이용해 사용자검색조건으로 등록 후 해당 이름을 Main.ReqPowerSearch에 지정해 검색합니다. 2 스팟에서 색상 지정부분은 아래 내용 참고하시기 바랍니다. http://www.hipenpal.com/tool/html_color_charts_rgb_color_table_in_korean.php 16진수 RGB색상코드표는 위 링크참고하시기 바랍니다. 예스스팟에서 색상지정시 2가지만 유의하셔서 처리하시면 됩니다. 위 링크에는 RGB순서 값인데 예스스팟에서는 BGR 순으로 지정하셔야 하며 BGR코드앞에 일반적인 프로그래밍 언어에서 16진수 표기법인 0x를 붙여주셔야 합니다. 3 엑셀파일의 A열과 B열은 속성에서 문자열로 지정하고 파일만드신 후에 스팟객체에서 파일지정하셔야 합니다. 해당설정이 없으면 종목코드가 005930이면 5930으로 표시가 됩니다. 4 스크립트 객체설정 엑셀객체 추가 --> 속성에서 객체명은 Excel1, 파일지정 var L1 = [],L2 = []; function Main_OnStart() { Main.ReqPowerSearch("사용자검색조건"); Excel1.SetData(1,"A1","직전"); Excel1.SetData(1,"B1","현재"); } function Main_OnTimer(nEventID) { if (nEventID == 1) { Main.ReqPowerSearch("hancom25") } } function Main_OnRcvItemList(aItemList, nCount) { Excel1.Clear(1, "A2","A500"); Excel1.Clear(1, "B2","B500"); L2 = []; L2 = L1; //직전겁색이 있었으면 A2부터 종목코드 출력 if (L2.length > 0) { for (var i = 0; i < L2.length; i++) { Excel1.SetData(1, "A"+(i+2),L2[i]) } } L1 = []; //현재겁색된 종목을 B2부터 종목코드 출력 if (nCount > 0) { for (var i = 0; i < nCount; i++) { L1[i] = aItemList[i]; Excel1.SetData(1, "B"+(i+2),L1[i]); //출력후 직전검색에서 나온 종목이면 바탕화면 색상을 변경 if (L2.length > 0) { for (var x = 0; x < L2.length; x++) { if (L1[i] == L2[x]) { Excel1.SetBkColor(1, "B"+(i+2),0xFFDA93) } } } } } Main.SetTimer(1, 60000);//60초 } 즐거운 하루되세요 > edan 님이 쓴 글입니다. > 제목 : 종목검색한 결과에서.. > 안녕하세요, 1분에 한번씩 종목검색한 결과를 엑셀로 업데이트 할수 있을까요? 1분에 한번씩 자동으로 종목검색을 하고 그 결과를 엑셀로 업데이트 하도록 구현할 수 있을까요? 표시하는것 뿐 아니라 그전 결과와 비교하여 색강조 까지 생각하고 있습니다. 예스스팟으로 구현가능한지, 간단한 예시를 주시면 도움이 많이 될것 같습니다. 감사합니다.