当前位置: 首页 > article >正文

判断文件夹是否存在的方法

判断文件夹是否存在的方法?

1. 用dir

    If Len(Dir("D:/DownLoads", 16)) > 0 Then
      MsgBox "文件夹存在"
    Else
      MsgBox "文件夹不存在"
    End If

2. 用Fso.FolderExists

工程-引用-勾选“Microsoft Scripting Runtime”-确定
加入一个text 控件 text1,一个command 控件command1
代码如下:
Option Explicit

Private Sub Command1_Click()
Dim Fso As New FileSystemObject


If Fso.FileExists(Text1) = True Then '判断文件是否存在
MsgBox "文件存在"

ElseIf Fso.FolderExists(Text1) = True Then '判断文件夹是否存在
MsgBox "文件夹存在"
Else
MsgBox "文件及文件夹不存在"
End If
End Sub

'实例

If Fso.FolderExists("e:/aa") = True Then
   '判断文件夹是否存在
   MsgBox "文件夹存在"
end if

 

 

 

 

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 不能连续地返回子目录。

提示 由于文件名并不会以特别的次序来返回,所以可以将文件名存储在一个数组中,然后再对这个数组排序。

 

 

3. 用api的PathFileExists

 

Private Declare Function PathFileExists Lib "shlwapi" Alias "PathFileExistsA" (ByVal pszPath As String) As Long

 

debug.print PathFileExists("c:/windows/system32")'为1存在,为0不存在

 

http://www.lryc.cn/news/2418940.html

相关文章:

  • 代码详解C#比较时间的三种方法
  • 时间序列 R 09 ARIMA
  • 用php中的ignore_user_abort与register_shutdown_function
  • 神奇的Scheme命名
  • ASP.NET 核心技术 | ADO.NET 使用Connection对象链接数据库
  • 约束优化与医疗科技:提高医疗设备性能的关键技术
  • 精品软件 推荐 常用软件 游戏的 运行库 下载 合集 3D game 玩游戏的一定要收藏一下。...
  • 009 - VulnHub靶机:pWnOS1.0学习笔记——文件包含+密码破解+Perl Cgi反弹shell + linux内核漏洞提权+shellshock漏洞提权
  • InvalidateRect是干啥的
  • 批量doc转docx方法,使用软件、插件
  • 小世界现象
  • 15、wpf之button样式小记
  • 数据开发流程及规范
  • 全球时区 简称 缩写 简介 PST EST GMT CST EDT UTC 等
  • 熊猫烧香病毒分析报告
  • CodeIgniter框架深入理解
  • 什么是基站定位?基站定位的原理及特点
  • Zblog主题模板:zblog博客网站建设_博客文章网站源码免费下载
  • 集合线程安全控制-Collections工具类synchronizedXxx()方法
  • 飞客蠕虫(Conficker)
  • Python爬虫实战:爬取拉勾网并对其进行数据分析
  • 八段数码管动态显示(汇编+C语言)
  • FastDB 很难得的一篇分析
  • 使用StretchBlt之前一定要用SetStretchBltMode(COLORONCOLOR)
  • 2款安卓漫画阅读器横评:漫画阅读软件哪个好用
  • 世界各国与中国时差查询
  • Sailfish OS
  • 离散数据编码方式总结(OneHotEncoder、LabelEncoder、OrdinalEncoder、get_dummies、DictVectorizer、to_categorical的区别?)
  • java.lang.Integer
  • linux进程优先级与nice,Linux之renice和nice调整进程的优先级