请教如何用For Each ... next得到一个文件夹里的所有.hat文件,谢谢!!!如:我想得到e:\aa文件夹里的所有.hat文件,谢谢!!!
解决方案 »
- VB ACCESS数据库 SQL查询问题
- 关于安装程序的问题
- 在VB中如何鼠标点击处的颜色值?
- 有谁可以教我如何把数据入库吗?谢谢 ,在线等!急!
- 请告诉包含像VB工具栏中小图标(如粘贴、拷贝等图标)的网址。
- 如何用mcisendstring(api)创建一个wave文件
- 怎样用mciSendString循环播放音乐?
- 哪儿有比较好的VB资料下载,高分相送!
- 把MSFlexGrid的属性WordWrap设为True怎么换不了行呢?
- :)****** vb开发bbs论坛(唾沫灌水器)********:(
- 请问:vb里面,references 和 component 两种方法,有什么区别?
- 有关符号的问题
On Error GoTo ErrMsg
Dim strStatus
Dim fso As FileSystemObject
Dim fld As Folder
Dim filTemp As File
Dim strExtendName As String
Set fso = New FileSystemObject
Set fld = fso.GetFolder(gstrCurrPath & BackgroundDir)
lstFileName.AddItem "(无)"
If gstrManagerBackground = "(无)" Then
lstFileName.ListIndex = lstFileName.NewIndex
End If
For Each filTemp In fld.Files
strExtendName = LCase(Right(filTemp, 4))
If strExtendName = ".bmp" _
Or strExtendName = ".jpg" _
Or strExtendName = ".gif" _
Or strExtendName = ".ico" _
Or strExtendName = ".dib" _
Or strExtendName = "jpeg" _
Or strExtendName = ".jpe" _
Or strExtendName = ".tif" _
Or strExtendName = ".png" Then
lstFileName.AddItem filTemp.Name
If filTemp.Name = gstrManagerBackground Then
lstFileName.ListIndex = lstFileName.NewIndex
End If
End If
Next
If lstFileName.Text = "" Then
lstFileName.AddItem GetFileName(gstrManagerBackground)
lstFileName.ListIndex = lstFileName.NewIndex
End If
cmdApply.Enabled = False
Exit Sub
ErrMsg:
strStatus = SetError(Err.Number, Err.Description, Err.Source)
ErrMsg strStatus
End Sub
首先在工程中引用MIcrosoft Scripting Runtime:Private Sub Command1_Click()
Dim FSys As New FileSystemObject
Dim F As Folder
Dim F1 As File
Set F = FSys.GetFolder("c:\downloads")
For Each F1 In F.Files
Debug.Print (FSys.GetExtensionName(F1.Name))
Next
End Sub上面的代码列出c:\downloads目录下的所有文件的扩展名
'在窗口中加一个File控件
Dim i As Long
File1.Visible = False
File1.Path = "c:\"
File1.Pattern = "*.hat"
For i = 0 To File1.ListCount - 1
MsgBox File1.List(i)
NextEnd Sub
最好少用外部控件,能不用就不用,否则打包的时候就大了!!
直接用Dir函数就解决问题,看MSDN中Dir函数的帮助,是列出所有文件夹的
改改就能用,不过要判断文件的最后四个字符为".hat"