請(qǐng)幫忙看下為什么只寫最后一個(gè)? [金字塔]
- 咨詢內(nèi)容:
下面的宏本意是想把最后的三個(gè)開盤價(jià)寫入文件中的,為什么只寫最后一個(gè)?
我想把最后三日的各項(xiàng)數(shù)據(jù)寫入文件,請(qǐng)朋友們幫忙解決.
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 "開盤價(jià) " & HData1.open(i) & " 收盤價(jià) " & HData1.close(i)
application.MsgOut "最高價(jià) " & HData1.high(i) & " 最低價(jià) " & HData1.low(i)
application.MsgOut "日期1 " & HData1.date(i) & " 成交量 " & HData1.volume(i)
application.MsgOut "成交額 " & HData1.amount(i)
result =document.WritePrivateProfileFloat("MyCpp", "開盤價(jià)",HData1.open(i) , "C:\Stock.ini")
next
application.MsgOut "總數(shù) " & HData1.countend sub
- 金字塔客服:
把next改成next i,除了遍歷,for each xx in xxxs的格式可以直接用next,其他直接用next都會(huì)有可能只是執(zhí)行一次,這是vb類的硬傷。
- 用戶回復(fù):
document.WritePrivateProfileFloat 只是記錄常數(shù)變量的語法。
如果你要在文件中保存連續(xù)數(shù)據(jù),參考 http://www.weistock.com/bbs/dispbbs.asp?BoardID=4&replyID=23402&ID=5688&skin=1
使用 Scripting.FileSystemObject 組件保存文本數(shù)據(jù)的部分
- 網(wǎng)友回復(fù):
2樓的加 i 是不對(duì)的.
參考3樓的方法,搞好了.多謝你們.
- 網(wǎng)友回復(fù):
我理解3樓說什么,是你那句語句,由于沒有“定位”,每一句寫進(jìn)去的時(shí)候都覆蓋了,你處理定位即可
另外next i和next的是基本一樣的,但我只能告訴你,vb的硬傷,在于你的程序特別復(fù)雜時(shí),不加 i 是會(huì)出現(xiàn)不循環(huán)的情況(在多嵌套中特別明顯);如果你程序是控制交易的,還是把 i 加上吧,嚴(yán)謹(jǐn)一些的好。
相關(guān)文章
-
沒有相關(guān)內(nèi)容