高分 在线 求vb读取文件

来源:百度知道 编辑:UC知道 时间:2024/07/03 00:29:40
文件在d盘下,文件夹48个,名称为 2005年1月、2005年2月、...、2005年12月、...、2008年12月,各文件夹下对应有31个文件,名为20050101.txt、20050102.txt、...、20050131.txt(年月与文件夹对应),2月都算30天
也就是说总共有48个月每月30或31个文件

文件数据为--------------------------
规定拔海高度风数据:
层数:25
序号 时间 高度 风向 风速
(分) (m) (°) (m/s)
1 0.9 300 245 3
2 1.8 600 316 4
3 2.7 900 321 6
4 1.5 500 312 4
5 2.9 1000 318 6
6 4.5 1500 294 10

要求最后结果输出到一个txt文本,格式为:年、月、日、序号2中的风向值

请高手给出读写的vb程序,不胜感激
非常感谢cy_dancer,他的思路虽然跟我不一样 但是我觉得非常好。

你要是最后的文件里面的一行数据的格式,是不是
2005、1、1、316

另外,像20050230.txt里面是不是没有数据呢?

补充:
稍等,作成做,给Mail地址我,写完发给你!

再问一下,序号是2的数据是不是一定在文件的第6行?

我写好了,
看看你的信息,或者百度Hi,和你确认一下邮箱地址 。
-------------------
快确认啊!我好发给你啊

好了,受楼下弟兄要求,代码公布,不过申明一下,我这个不是完全基于VB的编译环境做的,因为我机子上没有VB的环境。是用的Excel自带的VBA(宏)来做的。原理,根据文件夹的位址一次性把所有的文件路径取出来,然后一个个文件打开,一行行读,知道找到序号为2的那行,然后把值取出来。

Private Sub CommandButton1_Click()

Dim a()
Dim k, fCnt, lCnt
Dim fso, file
Dim str
k = 0
fCnt = 0

folderList = ThisWorkbook.Sheets(1).Range("B4").Value '文件夹路径
outputFile = ThisWorkbook.Sheets(1).Range("B5").Value '输出文件的路径
Application.ScreenUpdating = False

Call Listfiles(folderList, a, k)

Application.ScreenUpdating = True
Set fso = CreateObject("Scripting.FileSystemObject")
Set wf