返回列表 上一主題 發帖

[分享] 分享的定時抓DDE資料程式碼,但是需要人指點迷津

[分享] 分享的定時抓DDE資料程式碼,但是需要人指點迷津

這陣子忙著統計資料,一方面又架構系統,感謝此討論區很多版大的協助,終於有一個完整的版本想分享給大家

一般不管是金融業人或是一般投資人 都會利用券商的DDE 去抓資料 並且做分析或式操作

有一個朋友給了我一個範例  如下  我想分享給大家,拍謝因為抓的DDE資料不同 請各位自行調整  但是我有一個地方相當的不懂  希望請前輩用白話文分析

整個程式碼是這樣子 這個程式碼可以自己修改抓資料的時間  願與大家分享共同討論
  1. Option Explicit

  2. Dim T1 As Date

  3. Const 開始 = "08:45:05"
  4. Const 結束 = "13:46:08"
  5. Const 週期1 = "0:0:10"

  6. Sub start()

  7. Call StopTimer

  8. Call Timer1

  9. End Sub

  10. Sub StopTimer()

  11. On Error Resume Next

  12. Application.OnTime T1, "Timer1", , 0

  13. T1 = 0

  14. End Sub

  15. Sub Timer1()

  16. If T1 Then

  17. Sheets("台指").Range("B6000").End(xlUp).Offset(1, 0) = Sheets("sheet1").Range("B2")

  18. Sheets("電指").Range("B6000").End(xlUp).Offset(1, 0) = Sheets("sheet1").Range("B4")

  19. Sheets("金指").Range("B6000").End(xlUp).Offset(1, 0) = Sheets("sheet1").Range("B6")

  20. End If

  21. T1 = TimeNext(開始, 結束, 週期, Now)

  22. If T1 Then Application.OnTime T1, "Timer1"


  23. End Sub

  24. Function TimeNext(TStart As String, TEnd As String, TFrequency As String, TNOW As Date)

  25. If TNOW < Int(TNOW) + TimeValue(TStart) Then

  26.     TimeNext = Int(TNOW) + TimeValue(TStart)
  27.    

  28. ElseIf _
  29.        TNOW >= Int(TNOW) + TimeValue(TEnd) Then
  30.    
  31.        TimeNext = 0
  32.         
  33. Else

  34.     TimeNext = Int((TNOW + TimeValue(TFrequency) + 0.5 / 86400) / TimeValue(TFrequency)) * TimeValue(TFrequency)
  35.    
  36.       
  37.       
  38. End If

  39. End Function
複製代碼
我想請問有沒有人能用很白的白話文解釋這個函式 的最後一個判斷式  
  TimeNext = Int((TNOW + TimeValue(TFrequency) + 0.5 / 86400) / TimeValue(TFrequency)) * TimeValue(TFrequency)
為什麼作者要這樣子設定呢?

不知道當初設計的朋友有沒有再版上  一起說聲感謝~

感謝版主的回應阿 ~修改之後我看得比較懂了@@" 但是我還是有點好奇

為什麼作者他要這樣子設定
Int((TNOW + TimeValue(TFrequency) + 0.5 / 86400) / TimeValue(TFrequency)) * TimeValue(TFrequency)      

這個公式裡面  

(TNOW + TimeValue(TFrequency) + 0.5 / 86400) / TimeValue(TFrequency)
然後又乘TimeValue(TFrequency)   
這是什麼意思阿???

TOP

        靜思自在 : 一個缺口的杯子,如果換一個角度看它,它仍然是圓的。
返回列表 上一主題