nØthing specia¡
Posts
129 postsSetTimer와 Application.OnTime
비슷한 기능을 제공하는 API 함수와 VBA개체중 하나를 고르라면 VBA개체를 사용하는 편인데(안정성을 중시하므로), 이번에는 일정시간마다 뭔 작업을 일정 시간마다 수행하는 두 개의 방법을 보여주고자 한다. 다음은 API함수인 SetTimer와 KillTimer이다. SetTimer는 Sub TimerProc(ByVal hwnd As LongPtr, ByVal uMsg As LongPtr, ByVal idEvent As LongPtr, ByVal dwTime As LongPtr)를 실행설정하고 KillTimer는 반대의 역할, 실행설정을 해제한다. SetTimer의 매개변수에서 hwnd는 핸들번호이다. 핸들이란 Win32 API프로그래밍을 해본 분은 알겠지만, 개체의 주민등록번호에 해당한다.
JSON 만들고 자료 뽑아내기
VBA-JSON 덕분에 JSON을 처리하는 게 손쉬워졌는데, 깃허브에 특별히 친절한 코드 예가 부족해서 , 트레이딩 프로그램을 만들면서 테스트 코드를 만들어 보았다. 일단 JSON을 만드는 것부터... Sub ConvertingJson() Dim dic As New Dictionary Dim Json As New Collection dic.Add "BS", "BUY" dic.Add "DATE", "20190515" dic.Add "price", 57800 dic.Add "RSI", 0.5219 dic.Add "SIGNAL", 0.3978 Json.Add dic Set dic = Nothing dic.Add "BS", "SELL"
나만 이렇게 나오나요?
언제부터 인지 모르지만 항상 이렇게 나오는 데, 다른 분들도 이렇게 나오나요? 이글루스가 망쪼가 들어나요. 이걸 해결 안하고 수 일동안 이러고 있다면,,
50290 런타임 오류 - 삽질로 갈 뻔한 에러
증권사 API를 이용하여 기술적 지표를 조회하고 백테스팅하는 것 만드는 데, 50290 런타임 에러가 난다. 한 종목을 하는 경우에 상관없지만, 여러 종목을 조회하는 경우 콜백함수가 마지막 종목조회시 실행되면서 이런 에러가 난다. 이것은 엑셀을 백그라운드로 돌릴 때 나오는 오래된 에러라고 한다. Private Sub btnQuery_Click() Dim rng As Range Dim szSym As String For Each rng In [B23:B30] If GetQueueStatus(QS_INPUT) <> 0 Then DoEvents szSym = rng.Value Set rngWrite = rng.Offset(0, 2) Debu
JSON읽는 방법
JSON을 VBA에서 사용할 일이 그리 없는 데, JSON 을 만들지는 않지만 읽고 그속의 데이터를 뽑는 방법이 있다. Public Function JsonGet(eKey$, eJsonString$, Optional eDlim$ = ".") As String Dim tmp$() Static sJsonString$ If Trim(eKey$) = "" Or Trim(eJsonString$) = "" Then Exit Function If sJsonString <> eJsonString Then sJsonString = eJsonString oScriptEngine.Language = "JScript" Set objJSON = oScriptEngine.E
