读取一个文件夹下的所有文件名

bts2003 2004-08-11 06:04:55
如何读取一个文件夹下的所有文件名,存入一个数组中!
...全文
402 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
freedomjim 2004-09-10
  • 打赏
  • 举报
回复
使用自费串操作命令,把后缀名去掉很简单的

strFile=left(strFile,instrRev(strFile,1,"."))
jone999 2004-08-30
  • 打赏
  • 举报
回复
mark
yelang771 2004-08-30
  • 打赏
  • 举报
回复
up
bts2003 2004-08-12
  • 打赏
  • 举报
回复
我只要文件名,不要后缀名!
lihonggen0 2004-08-11
  • 打赏
  • 举报
回复
'----------------------------------------------------------------------------
'
'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
lihonggen0 2004-08-11
  • 打赏
  • 举报
回复
另一种办法是用 fso

Dim fso
Dim fn As String

Private Sub Command1_Click()
Dim fd As String
Set fso = CreateObject("Scripting.FileSystemObject")
fd = "C:\x"
Call getFilenm(fd)
MsgBox fn
End Sub

Function getFilenm(fdnm As String)
Dim obFd, fl, sfd
Set obFd = fso.GetFolder(fdnm)
For Each fl In obFd.Files
fn = fn & fl.Name & Chr(10)
Next
If obFd.SubFolders.Count > 0 Then
For Each sfd In obFd.SubFolders
Call getFilenm(sfd.Path)
Next
End If
End Function
lihonggen0 2004-08-11
  • 打赏
  • 举报
回复
使用dir(),看msdn中的例子。
AllCHN 2004-08-11
  • 打赏
  • 举报
回复
用 API 很容易实现的。

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧