안녕하세요,
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분에 한번씩 자동으로 종목검색을 하고
그 결과를 엑셀로 업데이트 하도록 구현할 수 있을까요?
표시하는것 뿐 아니라 그전 결과와 비교하여 색강조 까지 생각하고 있습니다.
예스스팟으로 구현가능한지, 간단한 예시를 주시면 도움이 많이 될것 같습니다.
감사합니다.