码迷,mamicode.com
首页 > 其他好文 > 详细

【Excel&VBA】VBA解析本地文件目录 读取文本数据

时间:2014-09-19 17:18:45      阅读:397      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   color   io   os   使用   ar   

偶尔用到Excel中VBA处理一些事情,毕竟鄙人比较懒,总是喜欢把那些重复性的工作想方设法交给计算机来处理,那样才能证明自己的大脑还在运转着,总结一些VBA中读取解析本地文件目录的方法。 

 

bubuko.com,布布扣
 1  该函数是获取指定目录下所有的 文件夹 名
 2 Sub readFile()
 3     Path = "d:\"
 4     sonpath = Dir(Path, vbDirectory)
 5     Do While sonpath <> ""
 6          跳过当前的目录及上层目录
 7         If sonpath <> "." And s <> ".." Then
 8              使用位比较来确定MyName代表一目录
 9             If (GetAttr(Path & sonpath) And vbDirectory) = vbDirectory Then
10                 MsgBox sonpath   如果它是一个目录,打印名称
11                  然后就可以打开这些目录下的文件
12             End If
13         End If
14         sonpath = Dir   查找下一个目录
15     Loop
16 End Sub
View Code

 

bubuko.com,布布扣
 1  该函数为获取指定目录下所有文件名
 2  注释部分,如果加上,则不包括"."和".."
 3  否则获取的文件名包括上面列出的两个
 4 Sub readFile1()
 5     Path = "D:\video\"
 6     sonpath = Dir(Path, vbDirectory)
 7     Do While sonpath <> ""
 8          If sonpath <> "." And sonpath <> ".." Then
 9             MsgBox sonpath
10          End If
11         sonpath = Dir
12     Loop
13 End Sub
View Code

注解:

Path是指路径,其中"D:\video\"和"D:\video"是有区别的,前者可以解析到video的子目录,而后者只是解析video本身该层目录;

 

bubuko.com,布布扣
 1  读取文件内容,并将每行依次复制到A列  
 2  path为文件绝对地址,lineNum为行号  
 3 Function readFile2(path, lineNum)  
 4      错误机制处理,可以去掉,如果有错误,会自动跳转到Error标签处执行  
 5     On Error GoTo Error  
 6       
 7      打开文件,并以符号"1"来代替文件流  
 8     Open path For Input As #1  
 9           
10          判断文件流"1"是否读取到文件尾  
11         Do While Not EOF(1)  
12               
13              读取文件流"1"中的一行,并赋值给变量"a"  
14             Line Input #1, a$  
15              将变量"a"复制到指定单元格里  
16             Range("A" + CStr(lineNum)).Value = a$  
17              行号+1  
18             lineNum = lineNum + 1  
19         Loop  
20     Close #1  
21     Exit Function  
22 Error: MsgBox Err.Description  
23 Close #1  
24 End Function
View Code
bubuko.com,布布扣
 1  读取指定目录下的所有txt文件,并将其内容拷贝到sheet1的A列中  
 2 Sub readTxts()  
 3      父级路径设置,最后有"\",注意  
 4     path = "d:\data\data\"  
 5      设置行号  
 6     lineNum = 1  
 7       
 8      获取该目录下所有文件名(只放置txt格式文件,其他的格式尚未判断)  
 9     sonpath = Dir(path, vbDirectory)  
10     Do While sonpath <> ""  
11         If sonpath <> "." And sonpath <> ".." Then  
12             MsgBox "正在读取" + sonpath  
13               
14              调用读取文件的函数(txt文件绝对路径,行号)  
15             result = readFile2(path + sonpath, lineNum)  
16         End If  
17         sonpath = Dir  
18     Loop  
19 End Sub  
View Code

以上两个函数是用来读取本地文本文件,将文本中的数据读取到Excel表格中

【Excel&VBA】VBA解析本地文件目录 读取文本数据

标签:des   style   blog   http   color   io   os   使用   ar   

原文地址:http://www.cnblogs.com/night617/p/3981813.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!