请教怎么判断我指定路径的文件是否存在
我指定的路径是"C:\Program Files\Kingdee\K3ERP\DeleteRow.txt"
需要引用什么组件?
我指定的路径是"C:\Program Files\Kingdee\K3ERP\DeleteRow.txt"
需要引用什么组件?
解决方案 »
- 类似这样的编码,如果还原成真实的文本
- 关于数据库数据更新的问题
- VB程序怎么禁止CTRL+AL+DEL组合键?
- 怎么调用MediaPlayer啊。
- 在VB中调用htmlhelp为什么有什么会无法显示
- vb串口:上位机如何读取下位机上传的数据,高分求救!!!
- 关于ADO的重要问题!!!!???进来看来,有意思哟!!!
- datasource与rowsource的区别(在datacombo,datalist控件中)
- treeview拖放..请教专家!
- 用GetBitmapDimensionEx如何得到一个位图的大小?
- 信春哥已经落伍了,曾哥来了!
- vb6.0 怎样实现类似于“打开我的电脑后,左边‘系统信息’框的效果”?用什么控件……
'不存在
else
'存在
endif
'不存在
else
'存在
endif
'不存在
else
'存在
endif
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 不能连续地返回子目录。提示 由于文件名并不会以特别的次序来返回,所以可以将文件名存储在一个数组中,然后再对这个数组排序。
部分 描述
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 不能连续地返回子目录。提示 由于文件名并不会以特别的次序来返回,所以可以将文件名存储在一个数组中,然后再对这个数组排序。
部分 描述
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 不能连续地返回子目录。提示 由于文件名并不会以特别的次序来返回,所以可以将文件名存储在一个数组中,然后再对这个数组排序。
Text1.Text = "C:\Program Files\Kingdee\K3ERP\DeleteRow.txt" If Dir(Text1.Text) <> "" Then
MsgBox "文件存在"
Else
MsgBox "没有文件"
End If
End Sub
Private Declare Function PathFileExists Lib "shlwapi" Alias "PathFileExistsA" (ByVal pszPath As String) As Long
Private Declare Function PathIsDirectory Lib "shlwapi" Alias "PathIsDirectoryA" (ByVal pszPath As String) As Long
Private Declare Function PathIsDirectoryEmpty Lib "shlwapi" Alias "PathIsDirectoryEmptyA" (ByVal pszPath As String) As Long
Private Declare Function PathIsRelative Lib "shlwapi" Alias "PathIsRelativeA" (ByVal lpszPath As String) As Long
Private Declare Function PathIsRoot Lib "shlwapi" Alias "PathIsRootA" (ByVal pPath As String) As Long
Private Declare Function PathIsSystemFolder Lib "shlwapi" Alias "PathIsSystemFolderA" (ByVal pszPath As String, ByVal dwAttrb As Long) As Long
Private Declare Function PathIsNetworkPath Lib "shlwapi" Alias "PathIsNetworkPathA" (ByVal pszPath As String) As Long
'检测文件或目录. 根据 TestType 不同返回值不同.
' TestType 功能 返回值
'----------------------------------------------------------------------------------------------------
' IsExists 目录或文件是否存在 0-不存在; 1-文件存在; 2-目录存在
' IsRelative 是否为相对路径(不检测存在性) 0-不是相对路径; 1-是相对路径
' IsEmptyDir 是否为空目录 0-不存在; 1-存在但目录非空; 2-存在且为空目录
' IsSystemDir 是否为系统目录 0-不为系统目录或不存在; 1-存在且为系统目录
' IsRoot 是否为根目录 0-不为根目录; 1-为根目录但不存在; 2-为根目录且存在
' IsNetworkPath 是否为网络路径(目录或文件) 0-不是网络路径; 1-是网络路径但不存在; 2-是网络路径且存在Public Function TestPath(ByVal lpPathName As String, _
Optional ByVal TestType As enuFileTestType = IsExists) As Long
lpPathName = lpPathName & vbNullChar
Select Case TestType
Case IsExists
If PathFileExists(lpPathName) Then
If PathIsDirectory(lpPathName) Then TestPath = 2 Else TestPath = 1
End If
Case IsRelative
If PathIsRelative(lpPathName) Then TestPath = 1
Case IsEmptyDir
If PathIsDirectoryEmpty(lpPathName) Then
TestPath = 2
Else
If PathIsDirectory(lpPathName) Then TestPath = 1
End If
Case IsSystemDir
If PathIsSystemFolder(lpPathName, 0) Then TestPath = 1
Case IsRoot
If PathIsRoot(lpPathName) Then
If PathIsDirectory(lpPathName) Then TestPath = 2 Else TestPath = 1
End If
Case IsNetworkPath
If PathIsNetworkPath(lpPathName) Then
If PathFileExists(lpPathName) Then TestPath = 2 Else TestPath = 1
End If
End Select
End Function
Public Enum enuFileTestType
IsExists
IsRelative
IsEmptyDir
IsSystemDir
IsRoot
IsNetworkPath
End Enum