Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 3569|回复: 6

[已解决]代码解释?

[复制链接]
发表于 2015-2-14 09:08 | 显示全部楼层 |阅读模式
本帖最后由 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
最佳答案
2015-2-14 16:42
Call GetFiles(Folder, FilePath, mf)
括号里的参数是什么意思?
第一个是Folder对象,第二个数组(存放具体的文件路径),第三个是计数器(统计第二个参数(数组里)存储的文件路径数量
发表于 2015-2-14 13:07 | 显示全部楼层
如果楼主没有VBA的基础,就不用去费力理解代码了,会用就行。
如果有基础,建议自己F8调试一次,理解就知道了。
回复

使用道具 举报

 楼主| 发表于 2015-2-14 13:43 | 显示全部楼层
hwc2ycy 发表于 2015-2-14 13:07
如果楼主没有VBA的基础,就不用去费力理解代码了,会用就行。
如果有基础,建议自己F8调试一次,理解就知道 ...

Call GetFiles(Folder, FilePath, mf)
括号里的参数是什么意思?
回复

使用道具 举报

发表于 2015-2-14 14:11 | 显示全部楼层
Call GetFiles(Folder, FilePath, mf)括号里的参数是什么意思?这句是调用另一个叫GetFiles 的过程,欲知参数含义,要看GetFiles 过程才知道。
回复

使用道具 举报

 楼主| 发表于 2015-2-14 14:15 | 显示全部楼层
scl5801 发表于 2015-2-14 14:11
Call GetFiles(Folder, FilePath, mf)括号里的参数是什么意思?这句是调用另一个叫GetFiles 的过程,欲知参 ...

请看附件,帮我看看代码到底是什么意思?
基础文件.rar (15.03 KB, 下载次数: 5)
回复

使用道具 举报

发表于 2015-2-14 14:54 | 显示全部楼层
我的理解,第一个是要导入文件的地址,二是类型,三是数量,不知对否,还请请教高手。
回复

使用道具 举报

发表于 2015-2-14 16:42 | 显示全部楼层    本楼为最佳答案   
Call GetFiles(Folder, FilePath, mf)
括号里的参数是什么意思?
第一个是Folder对象,第二个数组(存放具体的文件路径),第三个是计数器(统计第二个参数(数组里)存储的文件路径数量
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-25 06:36 , Processed in 1.513756 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表