怎么把一个目录下的所有文件的文件名导出,最好列到execl表里!!!

解决方案 »

  1.   

    可以用Dir遍历整个文件夹,得到所有文件
      

  2.   

    '----------------------------------------------------------------------------
    '
    'Author:lihonggen0
    'Date:2003-6-18
    '功能:把一个目录下的所有文件的文件名导出c:\file.txt
    '----------------------------------------------------------------------------Private Function AutoListFiles(ByVal sDirName As String, ByVal FileFilter As String) As Boolean
        On Error GoTo RF_ERROR
        Dim sName As String, sFile As String, sExt As String
        Dim sDirList() As String, iDirNum As Integer, I As Integer
        '首先枚举所有文件
        sFile = Dir(sDirName + FileFilter, vbNormal + vbArchive + vbHidden)
        Do While Len(sFile) > 0
            sFile = UCase(Trim(sFile))
            Debug.Print sFile
           
            Open "c:\file.txt" For Append As #1
            Print #1, , sFile
            Close #1        sFile = Dir '下一个文件
        Loop
        
    RF_EXIT:
        AutoListFiles = True
        Exit Function
    RF_ERROR:
        MsgBox Err.Description, vbCritical, ""
        Resume RF_EXIT
    End Function
    Private Sub Command1_Click()
    Dim bln   As Booleanbln = AutoListFiles("f:\", "*.*")
    End Sub
      

  3.   

    '----------------------------------------------------------------------------
    '
    'Author:lihonggen0
    'Date:2003-6-20
    '功能:把一个目录下的所有文件的文件名导出到execl表
    '----------------------------------------------------------------------------Private Function AutoListFiles(ByVal sDirName As String, ByVal FileFilter As String) As Boolean    On Error GoTo RF_ERROR
        
        
        Dim xlApp As Excel.Application
        Dim xlBook As Excel.Workbook
        Dim xlSheet As Excel.Worksheet    Set xlApp = CreateObject("Excel.Application")
        Set xlBook = xlApp.Workbooks.Add
        Set xlSheet = xlBook.Worksheets(1)        
        Dim sName As String, sFile As String, sExt As String
        Dim sDirList() As String, iDirNum As Integer, I As Integer
        
        '首先枚举所有文件
        sFile = Dir(sDirName + FileFilter, vbNormal + vbArchive + vbHidden)
        I = 1
        Do While Len(sFile) > 0
            sFile = UCase(Trim(sFile))
            Debug.Print sFile
            xlSheet.Cells(I, 2).Value = sFile
            I = I + 1        sFile = Dir '下一个文件
        Loop
            xlApp.Application.Visible = True
            '交还控制给Excel
        Set xlApp = Nothing
    RF_EXIT:
        AutoListFiles = True
        Set xlApp = Nothing
        Exit Function
    RF_ERROR:
        MsgBox Err.Description, vbCritical, ""
        Resume RF_EXIT
    End Function
    Private Sub Command1_Click()
    Dim bln   As Boolean
    '将F:\盘根目录下的所有文件和目录列出来
    bln = AutoListFiles("f:\", "*.*")
    End Sub