Dim num_file , num_line as integer
Sub Main()
MyPath=text1.text
Myname = Dir(MyPath, vbDirectory Or vbHidden Or vbNormal Or vbReadOnly)
Do While Myname <> ""
If Myname <> "." And Myname <> ".." Then
If (GetAttr(MyPath & Myname) And vbDirectory) = vbDirectory Then '如果找到的是目录
idir = idir + 1
ReDim Preserve dir_i(idir) As String
dir_i(idir - 1) = Myname
Else
If instr(Myname,".txt")>0 then ImportFile(Myname)
End If
End If
Myname = Dir '搜索下一项
Loop
End Sub
Sub ImportFile( F as string)
num_file =num_file +1
Open F for input as #1
Do While not EOF(1)
Line Input #1, a
num_line =num_line +1
'如果读取的一行要处理成数据,对a操作
Loop
End sub
Public Sub ReadDirTxt(DirPath As String)
Dim fso As Object
Dim fsod As Object
Dim fsof As Object
Dim f As Object
Dim i As Long
Dim s As String, fj() As String
Dim o As Long, o2 As Long
Dim m As Variant
Set fso = CreateObject("Scripting.FileSystemObject")
Set fsod = fso.getfolder(DirPath).Files
For Each f In fsod
If fso.GetExtensionName(f) = "txt" Then
o2 = o2 + 1
If f.Size > 0 Then '文件为空的不处理
Set fsof = f.OpenAsTextStream(1)
s = fsof.ReadAll
fj = Split(s, vbCrLf)
For Each m In fj
If Len(m) > 0 Then '空行不记
o = o + 1
End If
Next
End If
End If
Next
MsgBox "TXT文件数量:" & o2 & vbCrLf & "文件总行数:" & o
End Sub
---------------------------------
伸手党很让人烦。这个代码你慢慢琢磨吧。不解释。
调用:如:
Call ReadDirTxt("c:\windows")