Excel VBA 引用文件夹选择器 *VBA 的新功能 * [重复]

Posted

技术标签:

【中文标题】Excel VBA 引用文件夹选择器 *VBA 的新功能 * [重复]【英文标题】:Excel VBA referencing the folderpicker *new to VBA* [duplicate] 【发布时间】:2018-04-11 19:53:04 【问题描述】:

我有一个我拼凑的代码。目标是将文件夹中的所有 excel 文件打开,然后将工作表添加在一起以形成数据透视表。我可以轻松地设置路径 = 'foldername' 并且它可以工作,但是,我想将它放到可以浏览文件夹的位置,并让路径引用从 msoFileDialogFolderPicker 中选择的路径。我知道 path=Diafolder 不正确,我正在寻找答案。 提前谢谢你。

Dim Diafolder As FileDialog
Dim path As String

Application.ScreenUpdating = False
Application.DisplayAlerts = False

' Open the file dialog
Set Diafolder = Application.FileDialog(msoFileDialogFolderPicker)
Diafolder.AllowMultiSelect = False
Diafolder.Show

Msgbox Diafolder.SelectedItems(1)

Set Diafolder = Nothing
path = Diafolder

fileName = Dir(path & "*.xls")

Do While fileName <> ""

【问题讨论】:

这里有答案***.com/questions/26392482/… 【参考方案1】:

你可以这样做:

Set Diafolder = Application.FileDialog(msoFileDialogFolderPicker)
With Diafolder 

    .AllowMultiSelect = False
    .Title = "Select a folder..."

    If .Show = True Then
        path = .SelectedItems(1)
    End If

End With

【讨论】:

非常感谢!我有点搞定了。 The only issue I believe I'm running into is that I'm noticing that when the folder is chosen it isn't adding the final "\" to the path so none of the files in the folder gets opened.出于某种奇怪的原因,如果我选择文件夹并点击取消它实际上可以正常工作“授予我必须在对话框中的文件夹内” 你可以通过path = .SelectedItems(1) &amp; "\"添加尾随“\” 非常感谢。我最终找出了我遇到的其他一些问题。 很高兴为您提供帮助。请考虑将答案标记为正确。

以上是关于Excel VBA 引用文件夹选择器 *VBA 的新功能 * [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Excel VBA - 从多个打开的文件资源管理器窗口中关闭特定的文件资源管理器窗口

使用 css 选择器 excel vba 从网站抓取数据

在excel里利用vba怎么对指定单元格,或区域单元格保护

如何用VBA将EXCEL中的若干的数据导入不同的word文档

VBA - 从硬盘打开所有excel文件

如何用excel vba按关键字选择性的遍历文件夹搜索文件?