請幫忙看下為什么只寫最后一個? [金字塔]
- 咨詢內容:
下面的宏本意是想把最后的三個開盤價寫入文件中的,為什么只寫最后一個?
我想把最后三日的各項數據寫入文件,請朋友們幫忙解決.
sub hisdatashow()
application.ClearMsg
set HData1 = marketdata.GetHistoryData("SRY09","ZQ",5)
'Document.OpenDoc("c:\Stock.ini")
for i=HData1.count-3 to HData1.count-1
application.MsgOut "開盤價 " & HData1.open(i) & " 收盤價 " & HData1.close(i)
application.MsgOut "最高價 " & HData1.high(i) & " 最低價 " & HData1.low(i)
application.MsgOut "日期1 " & HData1.date(i) & " 成交量 " & HData1.volume(i)
application.MsgOut "成交額 " & HData1.amount(i)
result =document.WritePrivateProfileFloat("MyCpp", "開盤價",HData1.open(i) , "C:\Stock.ini")
next
application.MsgOut "總數 " & HData1.countend sub
- 金字塔客服:
把next改成next i,除了遍歷,for each xx in xxxs的格式可以直接用next,其他直接用next都會有可能只是執行一次,這是vb類的硬傷。
- 用戶回復:
document.WritePrivateProfileFloat 只是記錄常數變量的語法。
如果你要在文件中保存連續數據,參考 http://www.weistock.com/bbs/dispbbs.asp?BoardID=4&replyID=23402&ID=5688&skin=1
使用 Scripting.FileSystemObject 組件保存文本數據的部分
- 網友回復:
2樓的加 i 是不對的.
參考3樓的方法,搞好了.多謝你們.
- 網友回復:
我理解3樓說什么,是你那句語句,由于沒有“定位”,每一句寫進去的時候都覆蓋了,你處理定位即可
另外next i和next的是基本一樣的,但我只能告訴你,vb的硬傷,在于你的程序特別復雜時,不加 i 是會出現不循環的情況(在多嵌套中特別明顯);如果你程序是控制交易的,還是把 i 加上吧,嚴謹一些的好。
- 上一篇:如何在單根K棒某個位置畫短橫線?
- 下一篇:[建議]建議登陸界面允許自動登陸
相關文章
-
沒有相關內容