• VBA读取文件路径中的文件


    项目开发进行中,为了提高工作效率,减少错误率,不得不用到VBA去开发些使用的工具【应该感谢excel强大】

    其中有一个很重要的应用就是读取某一目录中的文件

    本文分享一个项目写的读取文件夹中文件的VBA方法

    **************************************************************************

    1,创建一个用于存放读出来文件信息的用户类型【应该是深受面向对象的影响吧】

    Type serchFileInfor
        fileCount As Integer
        fileNames() As String
        fileDirs() As String
        fileFullNames() As String
    End Type

    2,编写取得文件信息的方法

    sPath:要检索的文件路径
    sFileSpec:检索规则,比如说【*.*】是指检索全部文件,【*.txt】是检索所谓扩展名是txt的文件
    serchFileInfor:文件保存的地方,因为下面用到了递归,参数所以,这个东西就传来传去了。

    Public Sub FileTreeSearch(ByVal sPath As String, ByVal sFileSpec As String, _
            ByRef fileInfo As serchFileInfor)
        Dim sDir As String
        Dim sSubDirs() As String
        Dim iIndex As Long
    
        If Strings.Right(sPath, 1) <> "\" Then
            sPath = sPath & "\"
        End If
    
        sDir = Dir(sPath & sFileSpec)
    
        Do While Len(sDir)
            fileInfo.fileCount = fileInfo.fileCount + 1
            ReDim Preserve fileInfo.fileNames(1 To fileInfo.fileCount)
            ReDim Preserve fileInfo.fileDirs(1 To fileInfo.fileCount)
            ReDim Preserve fileInfo.fileFullNames(1 To fileInfo.fileCount)
            fileInfo.fileNames(fileInfo.fileCount) = sDir
            fileInfo.fileDirs(fileInfo.fileCount) = sPath
            fileInfo.fileFullNames(fileInfo.fileCount) = sPath & sDir
    
            sDir = Dir
        Loop
    
        iIndex = 0
        sDir = Dir(sPath & "*.*", vbDirectory)
        Do While Len(sDir)
            If Strings.Left(sDir, 1) <> "." Then 'skip.and..
                If GetAttr(sPath & sDir) And vbDirectory Then
                    iIndex = iIndex + 1
                    ReDim Preserve sSubDirs(1 To iIndex)
                    sSubDirs(iIndex) = sPath & sDir & "\"
                End If
            End If
            sDir = Dir
        Loop
        For iIndex = 1 To iIndex
            FileTreeSearch(sSubDirs(iIndex), sFileSpec, fileInfo)
        Next iIndex
    End Function
    

      

    这样,要用到的信息都放到了【fileInfo】中了。

    接下来要如何操作文件,都是接下来要做的事情了。

      

  • 相关阅读:
    测试用例
    HDU 5024 Wang Xifeng's Little Plot(枚举)
    HDU 1165 Eddy's research II
    java大数总结
    UVA 1646 Edge Case
    HDU 2553 N皇后问题
    【24题】试题库问题【网络流】
    YAPTCHA【数论】
    YAPTCHA【数论】
    YAPTCHA【数论】
  • 原文地址:https://www.cnblogs.com/gekal/p/3129329.html
Copyright © 2020-2023  润新知