Dir 函数
返回一个 String,用以表示一个文件名、目录名或文件夹名称,它必须与指定的模式或文件属性、或磁盘卷标相匹配。语法Dir[(pathname[, attributes])]Dir 函数的语法具有以下几个部分:部分 描述
pathname 可选参数。用来指定文件名的字符串表达式,可能包含目录或文件夹、以及驱动器。如果没有找到 pathname,则会返回零长度字符串 ("")。
attributes 可选参数。常数或数值表达式,其总和用来指定文件属性。如果省略,则会返回匹配 pathname 但不包含属性的文件。
设置值attributes 参数的设置可为:常数 值 描述
vbNormal 0 (缺省) 指定没有属性的文件。
vbReadOnly 1 指定无属性的只读文件
vbHidden 2 指定无属性的隐藏文件
VbSystem 4 指定无属性的系统文件
vbVolume 8 指定卷标文件;如果指定了其它属性,则忽略vbVolume
vbDirectory 16 指定无属性文件及其路径和文件夹。
注意 这些常数是由 VBA 所指定的,在程序代码中的任何位置,可以使用这些常数来替换真正的数值。说明Dir 支持多字符 (*) 和单字符 (?) 的通配符来指定多重文件。 由于 Macintosh 不支持通配符,使用文件类型指定文件组。可以使用 MacID 函数指定文件类型而不用文件名。比如,下列语句返回当前文件夹中第一个TEXT文件的名称:Dir("SomePath", MacID("TEXT")) 为选中文件夹中所有文件,指定一空串:Dir("")在 Microsoft Windows 中,如果在Dir函数中使用MacID函数,将产生错误。任何大于256的attribute值都被认为是MacID 函数的值。在第一次调用 Dir 函数时,必须指定 pathname,否则会产生错误。如果也指定了文件属性,那么就必须包括 pathname。Dir 会返回匹配 pathname 的第一个文件名。若想得到其它匹配 pathname 的文件名,再一次调用 Dir,且不要使用参数。如果已没有合乎条件的文件,则 Dir 会返回一个零长度字符串 ("")。一旦返回值为零长度字符串,并要再次调用 Dir 时,就必须指定 pathname,否则会产生错误。不必访问到所有匹配当前 pathname 的文件名,就可以改变到一个新的 pathname 上。但是,不能以递归方式来调用 Dir 函数。以 vbDirectory 属性来调用 Dir 不能连续地返回子目录。提示 由于文件名并不会以特别的次序来返回,所以可以将文件名存储在一个数组中,然后再对这个数组排序。
解决方案 »
- URLDownloadToFile vb6+sp6 精简版 +win7 死机
- vb中如何应用MD5?望高人指点
- 移动工程
- 交个朋友,互相学习
- 怎么能用鼠标拖动改变ListBox控件的高度?
- 怎么做出查找文件中以“包含文字”方式查找的效果?
- 为什么SQL server不能在Select中用DistinctRow关键字,有什么方法能代替DistinctRow。
- 一个报表能连两个数据源吗
- 急!急!急!我用不同数组存treeview 控件中不同父节点的子节点tag,由于父节点及子节点都由用户添加,所以我不知道该开辟多少个数组?帮
- 为什么要点击两次按钮,它才生效???
- ADO连接SQL数据库错误?
- 如何实现循环播放MP3。
If File1.ListCount > 0 Then '如果目录中存在文件
Screen.MousePointer = vbHourglass
Dim i As Long
Dim strPath As String
Dim strName As String
strPath = CheckPath(File1.Path) '获得文件路径(这里调用了一个函数,在下面)
For i = 0 To File1.ListCount - 1 '循环遍历每个文件
strName = strPath & File1.List(i) '获得文件名
If FileExists(strName) Then '如果文件存在(这里调用了一个检测文件是否存在的函数,在下面)
Call OpenFile(strName) '调用打开文件打的过程
Else '如果文件不存在
Screen.MousePointer = vbDefault
MsgBox "不能打开 " & strName & vbCrLf & vbCrLf & "文件不存在!" _
, vbOKOnly Or vbCritical
Screen.MousePointer = vbHourglass
End If
Next i
else
msgbox "目录中没有文件!",vbokonly or vbcritical
exit sub
End If
Screen.MousePointer = vbDefault
end subfunction checkpath(byval strpath as string) as string
if right$(strpath)="\" then '如果路径为根目录
checkpath=strpath
else '如果路径不是根目录
checkpath=strpath & "\"
end if
end functionFunction FileExists(ByVal FileName As String) As Boolean
'这个函数先假设文件存在并试图打开它,
'如果成功打开则说明文件存在,否则文件不存在。
'我认为这是最理想的检测文件是否存在的方法
On Error GoTo ErrHandle
Dim i As Long
Dim strFile As String
i = FreeFile
Open FileName For Input As #i
Line Input #i, strFile
Close #i '
FileExists = True '
ErrHandle:
If Err <> 0 Then '
FileExists = False '
Close #i '
Exit Function
End If
End Function注意:这里所指的文件不包括子目录中的文件
至于替换,你可以用richtextbox控件的replace方法
把replace方法的第五个参数设为-1就是全部替换