乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > Excel <em>VBA</em>列出某文件夹下子文件夹及文件名-vba 获取excel文件名

Excel <em>VBA</em>列出某文件夹下子文件夹及文件名-vba 获取excel文件名

作者:乔山办公网日期:

返回目录:excel表格制作


Alt+F11插入下面的代码到模块
'查找某个文件是否存在
Function IsExistFile(ByRef strDir As String, ByRef fileName As String)
Dim s As String
If (Right(strDir, 1) <> "\") Then
strDir = strDir & "\"
End If
s = dir(strDir & fileName, vbArchive + vbDirectory + vbHidden + vbNormal + vbReadOnly + vbSystem)
If (s <> "") Then
IsExistFile = fileName
Else
IsExistFile = "无"
End If
End Function

参数说明strDir为文件夹路径,fileName为文件名
使用示例:某个单元格输入=IsExistFile("E:\doc",B2) 即可,若不存在返回无,存在返回B2中的文件名称。路径和文件名可以直接用字符串或引用某个单元格内容。

遍历文件夹 并列出文件 & 文件夹 名 代码如下:

在文件夹内 新建 个 Excel文件  

Excel文件内 按e799bee5baa6e79fa5e98193e4b893e5b19e363 Alt+F11 视图--代码窗口, 把如下代码复制进去, F5运行

Sub 遍历文件夹()
  'On Error Resume Next
  Dim fn(1 To 10000) As String
  Dim f, i, k, f2, f3, x
  Dim arr1(1 To 100000, 1 To 1) As String, q As Integer
  Dim t
  t = Timer
  fn(1) = ThisWorkbook.path & "\"
  i = 1: k = 1
  Do While i < UBound(fn)
    If fn(i) = "" Then Exit Do
    f = Dir(fn(i), vbDirectory)
    Do
      If InStr(f, ".") = 0 And f <> "" Then
        k = k + 1
        fn(k) = fn(i) & f & "\"
      End If
      f = Dir
    Loop Until f = ""
    i = i + 1
  Loop
  '*******下面是提取各个文件夹的文件***
  For x = 1 To UBound(fn)
      If fn(x) = "" Then Exit For
       f3 = Dir(fn(x) & "*.*")
     Do While f3 <> ""
       q = q + 1
       arr1(q, 1) = fn(x) & f3
       f3 = Dir
     Loop
  Next x
  ActiveSheet.UsedRange = ""
  Range("a1").Resize(q) = arr1
  MsgBox Format(Timer - t, "0.00000")
End Sub

效果如图:


 


=IF(ISERROR(FIND("(COF)",B3)),"",(G3+H3)*0.8*-1,IF(ISERROR(FIND("(COF)",B3,(K3=6))),""(G3+H3)*0.3*-1)) 如何 k3=6

1、首先利用快捷键“Windows键+R”打开“运行”窗口

2、接着输入“cmd”并点击“打开”

3、比如是需要复制输出c盘下的Progam Data中文件夹的名字

4、在命令窗口中输入“cd c:\Progam Data”

5、点击“回车键”后出现下面情况

6、然后输入“dir /b>d:21.xls”命令并点击“回车键”

7、接着就在D盘出现名称为21的一个Excel表格

8、点击打开即可查看Progam Data中的文件夹名字都在Excel表格中,可以批量直接复制了

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网