返回列表 上一主題 發帖

這種依時間運算的巨集要如何寫??

本帖最後由 GBKEE 於 2014-12-11 06:24 編輯

回復 20# 藍天麗池

問題出在這些券商的 API 函數  http://www.coco-in.net/thread-24599-1-1.html
請再自行詢問券商如何解決.
  1. Declare Function SKQuoteLib_Initialize Lib "SKQuoteLib.dll" (ByRef strID As Byte, ByRef strPass As Byte) As Long
  2. Declare Function SKQuoteLib_EnterMonitor Lib "SKQuoteLib.dll" () As Long
  3. Declare Function SKQuoteLib_AttachConnectionCallBack Lib "SKQuoteLib.dll" (ByVal Func As Long) As Long
  4. Declare Function SKQuoteLib_AttachQuoteCallBack Lib "SKQuoteLib.dll" (ByVal Func As Long) As Long
  5. Declare Function SKQuoteLib_AttachTicksCallBack Lib "SKQuoteLib.dll" (ByVal Func As Long) As Long
  6. Declare Function SKQuoteLib_AttachBest5CallBack Lib "SKQuoteLib.dll" (ByVal Func As Long) As Long
  7. Declare Function SKQuoteLib_RequestStocks Lib "SKQuoteLib.dll" (ByRef Page As Integer, ByVal Stocks As String) As Long
  8. Declare Function SKQuoteLib_RequestTicks Lib "SKQuoteLib.dll" (ByRef Page As Integer, ByVal Stock As String) As Long
  9. Declare Function SKQuoteLib_GetStockByNo Lib "SKQuoteLib.dll" (ByVal strStockNo As String, ByRef Stock As TStock) As Long
  10. Declare Function SKQuoteLib_GetStockByIndex Lib "SKQuoteLib.dll" (ByVal Market As Integer, ByVal Index As Integer, ByRef Stock As TStock) As Long
  11. Declare Function SKQuoteLib_GetTick Lib "SKQuoteLib.dll" (ByVal Market As Integer, ByVal Index As Integer, ByVal Ptr As Long, ByRef Tick As TTick) As Long
  12. Declare Function SKQuoteLib_GetBest5 Lib "SKQuoteLib.dll" (ByVal Market As Integer, ByVal Index As Integer, ByRef Best5 As TBest5) As Long
  13. Declare Function SKQuoteLib_AttachTicksGetCallBack Lib "SKQuoteLib.dll" (ByVal Func As Long) As Long
  14. Declare Function SKQuoteLib_AttachBest5GetCallBack Lib "SKQuoteLib.dll" (ByVal Func As Long) As Long
  15. Declare Function SKQuoteLib_GetKLine Lib "SKQuoteLib.dll" (ByVal strStockNo As String, ByVal KLineType As Integer) As Long
  16. Declare Function SKQuoteLib_AttachKLineDataCallBack Lib "SKQuoteLib.dll" (ByVal Func As Long) As Long
  17. Declare Function SKQuoteLib_RequestServerTime Lib "SKQuoteLib.dll" () As Long
  18. Declare Function SKQuoteLib_GetServerTime Lib "SKQuoteLib.dll" (ByRef ServerTime As CFormat05) As Long
  19. Declare Function SKQuoteLib_AttchServerTimeCallBack Lib "SKQuoteLib.dll" (ByVal Func As Long) As Long
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

本帖最後由 藍天麗池 於 2014-12-11 07:39 編輯

回復 21# GBKEE

G大,不是券商的問題,我昨天下午還可以用,但昨天開teamview後表單的部分就無法點擊,我在想是不是程式有衝到,上網查了一下不知道是否是activeX控制項的問題,所以才想說來請教G大,因為我不是只有那個檔案不行,是所有檔案的表單都無法點擊

TOP

可以也分享給我?
我最近也在想這問題
謝謝

TOP

本帖最後由 藍天麗池 於 2014-12-22 23:25 編輯

回復 21# GBKEE


    G大,請教一下如果我在附件這個程式要加入每秒向下滾動一列要怎麼加呢?? 分析.rar (88.77 KB)
感謝

TOP

回復 21# GBKEE


    G大,可以順便幫小弟看一下這個附件嗎?? 委買賣(群益)Rev.rar (18.06 KB)
小弟試著寫,本來功能設定是B2-K2其中的值大於700就記錄,但不知道發生甚麼問題,卻無法執行,值沒有到700也記錄,在麻煩G大幫忙指教一下

TOP

本帖最後由 GBKEE 於 2014-12-24 12:29 編輯

回復 25# 藍天麗池
試試看
  1. Option Explicit
  2. Sub RecordPrice()
  3.     Dim WR As Long, I As Byte, SH As Worksheet
  4.     Set SH = shtRTD '工作表物件模組的名稱
  5.     Set SH = Sheets("RTD") '活頁簿工作表的名稱
  6.     With SH
  7.         .Activate
  8.         If IsError(.Range("F2")) Or IsError(.Range("G2")) Then Exit Sub
  9.         If .Range("F2") < 20 Then Exit Sub
  10.         WR = .Range("A1").End(xlDown).Row + 1
  11.         If WR = 3 Or Application.Max(.Range("B2").Resize(, 10)) > 700 Then
  12.             .Cells(WR, 1).Resize(, 11) = .Range("A2").Resize(, 11).Value
  13.             With ActiveWindow
  14.                 If Intersect(SH.Cells(WR, "A"), .VisibleRange) Is Nothing Then
  15.                     SH.Cells(WR, "A").Select
  16.                 End If
  17.             End With
  18.         End If
  19.     End With
  20. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 26# GBKEE

G大感謝你等等來試試看

TOP

回復 26# GBKEE

G大,之前的程式測試過後可以了,但是另一個請教一下G大如果我在附件這個程式要加入每秒向下滾動一列要怎麼加呢?? 分析.rar (88.77 KB)
其他的我還可以試著寫寫看,但這種的就...,還望G大幫忙一下,不好意思G大總是麻煩你

TOP

本帖最後由 GBKEE 於 2014-12-25 08:48 編輯

回復 28# 藍天麗池

是這樣嗎?
  1. Sub RecordPrice()
  2.     Dim WR As Long, R As Long
  3.     Dim I As Long
  4.     WR = Range("A1").End(xlDown).Row + 1
  5.     [A2] = TimeValue(Now)
  6.     For I = 1 To 24
  7.         Cells(WR, I) = Cells(2, I)
  8.     Next 'I
  9.     With ActiveWindow
  10.         If Intersect(Cells(WR, "A"), .VisibleRange) Is Nothing Then
  11.            Cells(WR, "A").Select
  12.         End If
  13.         .SmallScroll .VisibleRange.Cells.End(xlDown).Row - .VisibleRange.Cells(1).Row
  14.     End With
  15. End Sub
複製代碼
還是這樣?
  1. With ActiveWindow
  2.         If Intersect(Cells(WR, "A"), .VisibleRange) Is Nothing Then .SmallScroll 1
  3.     End With
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 29# GBKEE

G大是下面那樣,謝謝你

TOP

        靜思自在 : 不怕事多,只怕多事。
返回列表 上一主題