DIR(”E:\Project\VB\example2\project1.exe“),显示可以找到文件那样就对波,但是如果是
DIR(”E:\Project\VB\example2\Apr282003\4.htm“) 就不对,显示不能找到文件为什么呢?目录和文件都是存在的。

解决方案 »

  1.   

    Apr282003可能是它超过8位了,你用其他的函数来判断,也可以用FILESYSTEMOBJECT来判断
      

  2.   

    楼上说的对,你可以用FSO里的fileexists判断
      

  3.   

    huayuxing(huayuxing) 说得不对。你可以试试,在C盘根目录下建一个名为123456789的目录,再在里面建一个名为:123456789.txt的文件,用msgbox dir("c:\123456789\123456789.txt")试试。我估计可能是DIR(”E:\Project\VB\example2\Apr282003\4.htm“)中有全角符号,或文件4.htm是个隐藏文件,你可以用DIR("E:\Project\VB\example2\Apr282003\4.htm",vbHidden )来试试。
      

  4.   

    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("")