使用VBA将文件夹导入Excel(FileDialogFolderPicker)

我正在使用下一个代码为了从一个特定的path中select一个文件夹,并导入其中的所有文件:

Function GetFolder() Dim fd As FileDialog Set fd = Application.FileDialog(msoFileDialogFolderPicker) fd.Title = "Select Excel Workbook(s) Folder" Dim vrtSelectedItem As Variant With fd If .Show = -1 Then For Each vrtSelectedItem In .SelectedItems GetFolder = vrtSelectedItem Next vrtSelectedItem Else End If End With Set fd = Nothing End Function 

当文件夹选取器窗口打开时,在桌面上启动。 有没有办法让它在开放的时候走上特定的路? 或打开Excel文件本身所在的位置?

您将更新InitialFileName属性,并且可以将其设置为使用ActiveWorkbook.Path您需要确保包含结尾斜杠,否则将仅显示前一个文件夹而不是您想要的文件夹。 而且,没有理由通过.SelectedItems集合进行循环,因为FolderPicker FileDialog不支持多重select。

总之,我认为这是你正在寻找的代码:

 Function GetFolder() With Application.FileDialog(msoFileDialogFolderPicker) .InitialFileName = ActiveWorkbook.Path & Application.PathSeparator .Title = "Select Excel Workbook(s) Folder" If .Show = True Then GetFolder = .SelectedItems(1) Else GetFolder = False End If End With End Function 

之前添加一个这样的行。显示:

  fd.InitialFileName = "c:\whateverInitialDirectory"