获取当前文件

  1. 获取当前文件名(不含路径):ThisWorkbook.Name
  2. 获取当前文件名(不含扩展名):Left(ThisWorkbook.Name, InStr(ThisWorkbook.Name, ".") - 1)
  3. 获取当前文件完整路径:ThisWorkbook.Path & "\" & thisworkbook.Name

    文件夹操作

    Dir[(pathname[, attributes])] 函数
    attributes 参数的设置可为:
    vbNormal 0 (缺省) 指定没有属性的文件。
    vbReadOnly 1 指定无属性的只读文件
    vbHidden 2 指定无属性的隐藏文件
    VbSystem 4 指定无属性的系统文件 在Macintosh中不可用。
    vbVolume 8 指定卷标文件;如果指定了其它属性,则忽略vbVolume在Macintosh中不可用。
    vbDirectory 16 指定无属性文件及其路径和文件夹。
    vbAlias 64 指定的文件名是别名,只在Macintosh上可用。
  • 返回文件夹:Dir(pathname, vbDirectory)
  • 返回文件(默认):Dir(pathname)
  • pathname 可使用通配符 *?等
  • 重复执行 Dir(pathname)会重置函数,在循环体外写一条即可,循环体内 用 Dir() 即可,此时,指针会往下走。

    正则查找文件夹的文件名

    1. Sub test()
    2. Dim FileName$FileName = "D:新建文件夹-dir"
    3. '指定文件夹路径
    4. f = Dir(FileName & "" & "*.xlsx")
    5. '指定要遍历的文件类型,以.xlsx结果,也可以换成.xls(07版本的文件)
    6. Do While f <> ""
    7. '便利开始
    8. Workbooks.Open FileName & "" & f '打开 '
    9. Debug.Print f f = Dir() '循环下一个文件
    10. ActiveWorkbook.Close True '关闭当前打开的文件
    11. LoopEnd Sub '结束程序