扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
Private Declare Function PathFileExists Lib "shlwapi.dll" Alias "PathFileExistsA" (ByVal pszPath As String) As Long
成都创新互联公司主营黄山区网站建设的网络公司,主营网站建设方案,app软件开发公司,黄山区h5微信小程序定制开发搭建,黄山区网站营销推广欢迎黄山区等地区企业咨询
这是封装在Shell32.DLL系统文件里的一个函数,既可以判断本地文件是否存在,又可以判断远程电脑上的文件是否存在。函数返回值是个Long型变量,返回两个值0,1。1表示文件存在(True),0表示文件不存在(False)。而且只有一个参数szPath,是个字符串变量,如果要判断本地的文件是否存在其路径可写为:”C:\Windows\Config\SysBook.Txt”),如果文件在远程电脑上,其路径可写为(假设对方电脑IP为192.168.0.2)
"\\192.168.0.2\d$\javatools\somefile.txt",如果其电脑名为WorkStation可写为
“\\workstation\javatools\somefile.txt",当然这个函数还可以查找网站上的网页文件如:""
我们可以写个简单的自定义公用函数来完成这个功能,在自定义函数里调用这个API函数
Public Function GetFileExists(ByVal FileName As String) As Boolean
If FileName = "" Then
MsgBox "请输入文件名", vbInformation, "提示"
Exit Function
Else
GetFileExists = CBool(PathFileExists(FileName))
End If
End Function
在窗体界面上加一按钮,和一文本框
Private Sub Command1_Click()
Dim T As Boolean
T = GetFileExists("F:\it\Develope\Retail\Bill\vssver.scc")
If T = True Then
Text1.Text = "该文件存在"
Else
Text1.Text = "该文件不存在"
End If
End Sub
当然GetFileExists其中的参数还可以写成
"\\192.168.0.2\d$\javatools\somefile.txt"
"\\workstation\javatools\somefile.txt"
""
这个函数除了能判断文件是否存在外,还可以判断本地或远程文件夹
是否存在,我觉得这要比用Dir这个VB自带函数来判断文件是否存在要好用多了,而且也不需要调用FileSystemObject组件来操作了。
先imports
system.runtime.interopservices
然后class
xxxx
public
shared
function
zlibversion()
as
string
end
function...'在里面调用zlibversion()即可调用zlib1.dll的zlibversion方法,其他dll你根据接口灵活定义好了end
class
判断和创建可以放在一起。
创建空文件夹:
Directory.CreateDirectory(文件夹完整路径)
'系统会自动判断文件夹是否存在,不存在就创建判断并创建空文件:
Using fs As New FileStream("f.txt", FileMode.OpenOrCreate)
'你可以用这个FileStream做其它事情
End Using
If My.Computer.FileSystem.FileExists("c:\Check.txt") Then
MsgBox("File found.")
Else
MsgBox("File not found.")
EndIf
API函数 PathFileExists
声明
Private Declare Function PathFileExists Lib "shlwapi.dll" Alias "PathFileExistsA" (ByVal pszPath As String) As Long
PathFileExists("一个文件或文件夹") 如果存在 返回1 不存在返回0
If PathFileExists("C:\123") then ...
Dir不准确
如果有下列目录结构
D盘中有文件夹 test 文件夹中有testFile.txt文件
还有空文件夹 testEmpty
则
Dir("d:\test\testFIie.txt") 返回 testFile.txt
Dir("d:\test\testFIie11111111.txt") 返回 ""
Dir("d:\test\") 返回 testFile.txt (返回此文件夹第一个文件)
Dir("d:\testEmpty") 返回空
dir("一个不存在的文件夹")返回空
也就是说如果一个文件夹下没有文件(不管有没有子文件夹)则 dir("一个文件夹")就返回空
所以不能通过 dir("一个文件夹")来判断一个文件夹是否存在。
只能调用api函数
Private Declare Function PathFileExists Lib "shlwapi.dll" Alias "PathFileExistsA" (ByVal pszPath As String) As Long
PathFileExists("一个文件或文件夹") 如果存在 返回1 不存在返回0
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流