程式碼如何寫以紀錄EXCEL的DDE數據每秒鐘紀錄)(已解決)
- 帖子
- 115
- 主題
- 24
- 精華
- 0
- 積分
- 178
- 點名
- 0
- 作業系統
- WIN10
- 軟體版本
- Office2016
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2011-1-12
- 最後登錄
- 2024-11-15
|
回復 8# GBKEE
版大您好! 我用Excel2016版, 跑程式碼卡住了,是哪裡有問題?
資料源 我改成元大RTD了! |
|
|
|
|
|
|
- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
12#
發表於 2018-4-25 13:47
| 只看該作者
回復 11# ABK
Sheets("1")的A 2 公式=RTD("money.excel",,"*SYSTEM","ServerTime")
是否傳回#N/A (錯誤值),導致程式錯誤試試看- Sub Ex()
- Set MyBook = ThisWorkbook
- Set Sht1 = MyBook.Sheets("1")
- Dim A As Single
- A = 0.361111 '時間 上午 08:40:00
- j = 2
- Do
- DoEvents
- '********測試用 ******************************************
- If IsError(Sht1.Cells(2, 1)) Then Stop '傳回錯誤值 程式暫停
- '**********************************************************
- If Not IsError(Sht1.Cells(2, 1)) Then
- If Sht1.Cells(2, 1) > A Then 'SHEETS(1)的A2大於 時間
- A = Sht1.Cells(2, 1) '更改時間為SHEETS(1)的A2
- Sht1.Cells(j, 2).Resize(1, 6) = Sht1.Cells(2, 5).Resize(1, 6).Value
- O = 0
- H = -99999
- l = 99999
- cumVol = V
- j = j + 1
- End If
- End If
- Loop
- End Sub
複製代碼 |
|
|
|
|
|
|
- 帖子
- 115
- 主題
- 24
- 精華
- 0
- 積分
- 178
- 點名
- 0
- 作業系統
- WIN10
- 軟體版本
- Office2016
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2011-1-12
- 最後登錄
- 2024-11-15
|
13#
發表於 2018-4-25 15:35
| 只看該作者
回復 12# GBKEE
謝謝版大! 出現型態不符 |
|
|
|
|
|
|
- 帖子
- 115
- 主題
- 24
- 精華
- 0
- 積分
- 178
- 點名
- 0
- 作業系統
- WIN10
- 軟體版本
- Office2016
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2011-1-12
- 最後登錄
- 2024-11-15
|
15#
發表於 2018-4-25 22:30
| 只看該作者
回復 14# GBKEE
謝謝版大! 按下偵錯後如附圖 !
附件我改成元大Yeswin 的 DDE。
15:00~ 隔日05:00 A2:J2 資料會變動 (午夜盤交易時段)
8:45 ~ 13:45 N2:W2 資料會變動 (日盤交易時段)
資料連結需先開啟 元大Yeswin 看盤軟體 |
|
|
|
|
|
|
- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
16#
發表於 2018-4-26 07:01
| 只看該作者
回復 15# ABK
我只有台新證券公司的智多星可用.
可再試試看- Sub Ex()
- Dim Sht1 As Worksheet, MyBook As Workbook, A As Date
- Set MyBook = ThisWorkbook
- Set Sht1 = MyBook.Sheets("1")
- A = #8:40:00 AM#
- 'Date 函數 傳回一 Variant (Date),內容為系統日期 (電腦所記錄的現在日期)。
- j = 2
- Do
- DoEvents
- '********測試用 ******************************************
- ' If IsError(Sht1.Cells(2, 1)) Then Stop '傳回錯誤值 程式暫停
- '**********************************************************
- If Not IsError(Sht1.Cells(2, 1)) Then
- ''' MsgBox TypeName(Sht1.Cells(2, 1).Value)
- If Sht1.Cells(2, 1) > A Then 'SHEETS(1)的A2大於 時間
- A = Sht1.Cells(2, 1) '更改時間為SHEETS(1)的A2
- Sht1.Cells(j, 2).Resize(1, 6) = Sht1.Cells(2, 5).Resize(1, 6).Value
- O = 0
- H = -99999
- l = 99999
- cumVol = V
- j = j + 1
- End If
- End If
- Loop
- End Sub
複製代碼 |
|
|
|
|
|
|
- 帖子
- 115
- 主題
- 24
- 精華
- 0
- 積分
- 178
- 點名
- 0
- 作業系統
- WIN10
- 軟體版本
- Office2016
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2011-1-12
- 最後登錄
- 2024-11-15
|
17#
發表於 2018-4-26 22:01
| 只看該作者
回復 16# GBKEE
感謝版主 ! 可以記錄了!
目前是1秒鐘記錄一次, 如何修改 讓它1分鐘 記錄一次 ?
如果我要指定它在 15:00:00 (下午3點時自動停止) 要如何寫? |
|
|
|
|
|
|
- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
18#
發表於 2018-4-27 09:17
| 只看該作者
本帖最後由 GBKEE 於 2018-4-27 09:41 編輯
回復 17# ABK
試試看- Option Explicit
- Sub Ex()
- Dim Sht1 As Worksheet, MyBook As Workbook, Rng As Range
- Dim xTime As Date
- Set MyBook = ThisWorkbook
- Set Sht1 = MyBook.Sheets("1")
- xTime = Time '不要管Sht1.Cells(2, 1)的時間
- Do
- DoEvents
- If Time >= xTime Then
- xTime = TimeSerial(Hour(Time), Minute(Time) + 1, 0) '下一分鐘
- Set Rng = Nothing
- If Time >= #8:40:00 AM# And Time <= #1:30:00 PM# Then '日盤
- Set Rng = [N2:W2]
- ElseIf Time >= #2:59:50 PM# Or Time <= #5:00:10 AM# Then
- '時間要跨過隔日
- 'http://forum.twbts.com/thread-20727-1-1.html
- '夜盤 StartTime 14:59:50 / EndTime 隔日 05:00:10
- Set Rng = [A2:J2]
-
- End If
- If Not Rng Is Nothing Then
- With Cells(Rows.Count, "A").End(xlUp).Offset(1)
- .Resize(, Rng.Count) = Rng.Value
- End With
- End If
- End If
- Loop
- End Sub
複製代碼 |
|
|
|
|
|
|
- 帖子
- 115
- 主題
- 24
- 精華
- 0
- 積分
- 178
- 點名
- 0
- 作業系統
- WIN10
- 軟體版本
- Office2016
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2011-1-12
- 最後登錄
- 2024-11-15
|
19#
發表於 2018-4-27 15:56
| 只看該作者
回復 18# GBKEE
謝謝版大 ! 可以跑了!
紀錄時間都在58秒 是我的電腦時間比卷商主機時間(A2儲存格) 快2秒的原因! |
|
|
|
|
|
|
- 帖子
- 522
- 主題
- 36
- 精華
- 1
- 積分
- 603
- 點名
- 0
- 作業系統
- win xp sp3
- 軟體版本
- Office 2003
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2012-12-13
- 最後登錄
- 2021-7-11
|
20#
發表於 2018-5-4 15:04
| 只看該作者
本帖最後由 yen956 於 2018-5-4 15:05 編輯
ABK大大你好:
請問大大, 你是如何修改 標題 的?(如:加上 已解決)
是積分問題嗎? 我總是試不出來, 謝謝!! |
|
|
|
|
|
|