我运行这个 vba,它遍历文件夹并提取它在一张大表中编译的数据。我的问题是我收到了一个名为 thumbs.db 的隐藏文件的错误,我需要添加一些东西,以便它验证它只是提取带有 xlsx 扩展名的文件。下面是我正在使用的代码。
Sub DoFolder(Folder)
Dim SubFolder As Folder
Dim i As Integer
Dim CopyR As Range
For Each SubFolder In Folder.SubFolders
DoFolder SubFolder
Next
If Folder.SubFolders.Count = 0 Then
If Folder.Files.Count = 1 Then
If Mid(Folder.Files, Len(Folder.Files) - 3, 4) = "xlsx" Then
Else: MsgBox "2+ files: " & Folder.Path
End If
End If
For Each File In Folder.Files
Hoover File
Next
Else
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
我想弄清楚的问题是
If Mid(Folder.Files, Len(Folder.Files) - 3, 4) = "xlsx" Then
Run Code Online (Sandbox Code Playgroud)
对此的任何帮助将不胜感激
小智 5
Folder.Files 是一个集合而不是一个字符串。
Sub DoFolder(FolderName As String, Optional fso As Object)
Dim f As Object, MySubFolder As Object, RootFolder As Object
Dim cFiles As Collection
If fso Is Nothing Then Set fso = CreateObject("Scripting.FileSystemObject")
Set RootFolder = fso.GetFolder(FolderName)
For Each MySubFolder In RootFolder.SubFolders
DoFolder MySubFolder.Path, fso
Next
Set cFiles = New Collection
For Each f In RootFolder.Files
If f.Name Like "*xls*" Then cFiles.Add f
Next
If cFiles.Count > 0 Then
MsgBox cFiles.Count & " files found in " & RootFolder.Name
For Each f In cFiles
Hoover f
Next
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6318 次 |
| 最近记录: |