检索某个文件夹内的所有文件,谁有现成的方法或过程提供

error917 2010-01-21 11:00:43
近期用vb给水利工程做个cs结构检索器。现在需要检索某个文件夹内的所有文件(注:文件夹内只有word文档文件)。要获得文件个数和所有word文档文件的名称放到数组内。谁有现成的方法或过程提供。谢谢!否则我还要自己编。时间比较紧迫。
...全文
259 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
cbm6666 2010-01-24
  • 打赏
  • 举报
回复
Option Explicit '强制宣告定义变量
Dim TmpStr$, ExtNm$, JJ&, Trec&, FileList$() '定义变量

Private Sub Form_Load()
'将窗体居中显示 (屏幕宽度减去窗体的宽度)除以2 , (屏幕高度减去窗体的高度)除以2
Me.AutoRedraw = True
Me.Move (Screen.Width - Me.Width) \ 2, (Screen.Height - Me.Height) \ 2
End Sub

Private Sub Command1_Click()
'在这里你可以自行加一个挑选文件夹的代码
Call GetFile("c:\MyFile\")
MsgBox "共查找到: " & CStr(Trec) & " 个文件"
End Sub

Sub GetFile(FolderPath$)
TmpStr = Dir(FolderPath & "*.*")
If TmpStr = "" Then MsgBox "本文件夹中没有任何文件": Exit Sub
Me.Cls: Trec = 0
Do While Len(TmpStr) > 0
ExtNm = GetExtNm(TmpStr)
If ExtNm = "DOC" Then
ReDim Preserve FileList(Trec)
FileList(Trec) = FolderPath & TmpStr
'如果只要文件名的话,这行的上下两行的路径可去掉 FileList(Trec) = TmpStr
Print TmpStr
Trec = Trec + 1
End If
TmpStr = Dir
Loop
End Sub

Public Function GetExtNm(Fnm$) As String
JJ = InStrRev(Fnm, ".")
GetExtNm = ""
If JJ > 0 Then GetExtNm = UCase(Mid(Fnm, JJ + 1))
End Function

'查看是否都在数组里面
'Private Sub Command2_Click()
' Dim i&
' Me.Cls
' For i = 0 To UBound(FileList)
' Print FileList(i)
' Next i
'End Sub
error917 2010-01-21
  • 打赏
  • 举报
回复
你真是速度呀。我试了基本达到我的要求了。不过我还得改改。但是我还是谢谢你的帮助。等我改好了再结贴。好不?
舉杯邀明月 2010-01-21
  • 打赏
  • 举报
回复
现成的?
自己写一个也要不了几分钟。

参考一下吧,简单修改就可以实现你的要求了:
Dim strFileName$, strPath$, iCount$
strPath = "K:\图书馆\程序设计\计算机图形学基础教材\教案\105-108 游戏地图高级实现(LOD)"
strFileName = Dir$(strPath & "\*.doc", vbHidden Or vbSystem)
iCount = 0
While (Len(strFileName) > 0)
iCount = iCount + 1
Debug.Print strFileName
strFileName = Dir$()
Wend
Debug.Print "共有 " & iCount & " 个文件。"

1,486

社区成员

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

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