选择多个文件夹 - VBA
我正在使用宏将CSV文件合并为一个。 宏运行良好,但我有一个块,它允许选择一个CSV文件的文件夹进行合并。选择多个文件夹 - VBA
两个问题:
- 我可以选择多个文件夹更多的合并吗? (在一个文件夹中,我有很多CSV文件。)。
- 如何从其中选择文件夹的其他初始目录?我需要从服务器使用文件夹。
代码块:
'Browse to the folder with CSV files
Set oApp = CreateObject("Shell.Application")
Set oFolder = oApp.BrowseForFolder(0, "Select folder with CSV files", 512)
If Not oFolder Is Nothing Then
foldername = oFolder.Self.Path
If Right(foldername, 1) <> "\" Then
foldername = foldername & "\"
End If
现在我的可用性可供选择一个文件夹:
我很想从多个这样的选择:
选择多个文件夹是根本不可能的。即使选择两个文件夹在同一时间将无法正常工作。
您可以选择...
- 多个文件在一个文件夹(见@FunThomas answer)仅
- 或一个文件夹。
下面是如何选择一个文件夹:
Public Sub SelectFolder()
Dim fdl As FileDialog
Set fdl = Application.FileDialog(msoFileDialogFolderPicker)
With fdl
.InitialFileName = "C:\Temp" 'where we start choosing a folder
If .Show <> -1 Then
MsgBox "canceled" 'nothing was selected
Else
Debug.Print .SelectedItems(1) 'the selected folder
End If
End With
End Sub
您可以使用Application.FileDialog
。这允许浏览文件夹并选择文件。
Dim fileCount As Long
' Open the file dialog
With Application.FileDialog(msoFileDialogOpen)
.AllowMultiSelect = True
.Filters.Clear
.Filters.Add "CSV files", "*.csv"
.Show
For fileCount = 1 To .SelectedItems.Count
Debug.print .SelectedItems(fileCount)
Next fileCount
End With
是的,谢谢它的工作。但现在我必须在文件夹中标记所有csv文件:)并且仍然可以只采用一个文件夹,而不是更多 –
因此,您希望允许用户一次选择多个文件夹中的多个文件?不要认为这是可能的 – FunThomas
@SkirmanteValentaite选择多个文件夹是不可能的。即使同时选择两个文件夹也不起作用。您只能在*一个*文件夹或*一个*文件夹中选择*多个文件*。 –
[这](https://stackoverflow.com/questions/45154354/how-to-loop-through-all-subfolders-和每个excel-file-45156109#45156109)的行内容为excell文件。更改为像“* .csv”之后,您可以使用。 –