以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 高级功能研发区 (http://222.73.7.161/bbs/list.asp?boardid=5) ---- 请问vba中如何遍历ini文件呢? (http://222.73.7.161/bbs/dispbbs.asp?boardid=5&id=51766) |
-- 作者:vba -- 发布时间:2013/5/7 22:19:49 -- 请问vba中如何遍历ini文件呢? 找了一下vba的帮助 GetPrivateProfileFloat 方法 从INI文件中读取浮点数变量 GetPrivateProfileFloat(AppName, KeyName, Default, FileName)
这个必须指定具体keyName,但是如果一个AppName下对应多个KeyName时,我不想写死KeyName,因为要用循环的方式动态取得,然后把这一个AppName下的所有值做累加。请问客服老师如何实现呢? |
-- 作者:guotx2010 -- 发布时间:2013/5/8 8:38:47 -- 记录一个数量,然后根据数量来做循环。 如: [Policy] PolicyCount=5 Policy0=价量策略 PolicyStatus0=启动 Policy1=缠论-3买3卖 PolicyStatus1=启动 Policy2=布林通道 PolicyStatus2=启动 Policy3=缠论-2买2卖 PolicyStatus3=启动 Policy4=均线策略 PolicyStatus4=启动 |
-- 作者:vba -- 发布时间:2013/5/8 10:25:02 -- 谢谢guotx2010老师,关键我的KeyName是用pel公式名称形成的,ini格式是这样的: [IF00] AA=1 YY=1 XX=1 [RB10] MM=1 NN=1 这个如何循环得到呢?还请老师帮忙!非常感谢! |
-- 作者:guotx2010 -- 发布时间:2013/5/8 20:59:05 -- 把每一个keyname作为一个节的项,如: [Key] keycount=n key1=IF00 key2=RB00
然后接你的ini内容
这样就可以根据keycount来做循环读取每一个keyname节的项目值了,每一个节的项目名应该一致,aa,mm之类的,不一致的化,也得有一套规则,不然你怎么动态读取不同节的项目呢?
|
-- 作者:vba -- 发布时间:2013/5/10 13:02:40 -- 建议vba增加一个ini的外部对象。这样就可以扩展ini文件的读写操作。我看目前有个Registry ,也可以类似做一个。这样Section和key就很好得到,也不用把key的规则搞一致就可以遍历了。 |