|
本帖最后由 乐乐2006201506 于 2016-6-14 12:17 编辑
希望在下面代码中加入批注中的公式,或者实现此公式的功能,并直接将结果(姓名)输入到B1及后边的单元格中。
我改变红色部分,但是运行不成功,谢谢!
Sub 提取指定文件夹内的所有文件名() '含所有子文件夹内的文件
Dim Fso As Object, arrf$(), mf&
Set Fso = CreateObject("Scripting.FileSystemObject")
Call GetFiles1(CreateObject("Shell.Application").BrowseForFolder(0, "请选择文件夹", 0, "").Self.Path, Fso, arrf, mf)
[b1].Resize(mf) = Application.Transpose(arrf)
Set Fso = Nothing
End Sub
Private Sub GetFiles1(ByVal sPath$, ByRef Fso As Object, ByRef arrf$(), ByRef mf&)
Dim Folder As Object
Dim SubFolder As Object
Dim File As Object
Set Folder = Fso.GetFolder(sPath)
For Each File In Folder.Files
mf = mf + 1
ReDim Preserve arrf(1 To mf)
arrf(mf) = File.Name
Next
For Each SubFolder In Folder.SubFolders
Call GetFiles(SubFolder.Path, Fso, arrf, mf)
Next
Set Folder = Nothing
Set File = Nothing
End Sub
- Sub 提取指定文件夹内的所有文件名() '含所有子文件夹内的文件
- Dim Fso As Object, arrf$(), mf&
- Set Fso = CreateObject("Scripting.FileSystemObject")
- Call GetFiles1(CreateObject("Shell.Application").BrowseForFolder(0, "请选择文件夹", 0, "").Self.Path, Fso, arrf, mf)
- [B1].Resize(mf) = Application.Transpose(arrf)
- Set Fso = Nothing
- For i = 1 To UBound(arrf)
- Cells(i, 3) = "=Mid(B" & i & ", (Find(""("", B" & i & ") + 1), Find("")"", B" & i & ") - (Find(""("", B" & i & ") + 1))"
- Next
- End Sub
复制代码
|
|