|
本帖最后由 afad12 于 2015-2-14 19:08 编辑
Sub 导入CSV文件()
Dim s$(), Fso As Object, Folder As Object, i&, j&, m&, FilePath$(), mf&, arr$(1 To 60000, 1 To 1)
Set Fso = CreateObject("Scripting.FileSystemObject")
Set Folder = Fso.GetFolder(ThisWorkbook.Path)
Call GetFiles(Folder, FilePath, mf)
For j = 1 To mf
Open FilePath(j) For Input As #1
s = Split(StrConv(InputB(LOF(1), 1), vbUnicode), vbCrLf)
Close #1
For i = 2 To UBound(s)
If Len(s(i)) Then
m = m + 1
arr(m, 1) = Split(s(i), vbTab)(0)
End If
Next
Next
[a:a].ClearContents
[a1].Resize(m) = arr
Set Folder = Nothing
Set Fso = Nothing
End Sub
Sub GetFiles(ByVal Folder As Object, arr$(), mf&)
Dim SubFolder As Object
Dim File As Object
For Each File In Folder.Files
If File.Name Like "*.txt" Then
mf = mf + 1
ReDim Preserve arr(1 To mf)
arr(mf) = File
End If
Next
For Each SubFolder In Folder.SubFolders
Call GetFiles(SubFolder, arr, mf)
Next
End Sub
Call GetFiles(Folder, FilePath, mf)
括号里的参数是什么意思?
第一个是Folder对象,第二个数组(存放具体的文件路径),第三个是计数器(统计第二个参数(数组里)存储的文件路径数量
|
|