VBA 从特定位置选择文件?
Posted
技术标签:
【中文标题】VBA 从特定位置选择文件?【英文标题】:VBA pick a file from a specific location? 【发布时间】:2020-08-19 19:43:02 【问题描述】:我正在尝试将一些代码放在 VBA 中,它将打开一个特定的文件夹,让我选择文件然后继续运行我的代码。
目前我所拥有的(如下)“有效”,因为它将打开一个文件夹,但通常它从一个通用位置(桌面)开始,但不会转到特定文件夹位置让我打开我想要的文件。
Dim Filename as String
filename = Application.GetOpenFilename(FileFilter:="Excel Files, *.xl*;*.xm*")
If filename <> False Then
Workbooks.Open filename:=filename
End If
我也试过这样的:
Dim Directory as String
Dim Filename as String
Directory = "\\page\data\NFInventory\groups\CID\Retail Setting\Lago Retail Uploads\" & strBrand & "\" & strSeason & "\" & strPrefix & "\"
Filename = Dir(Directory & "*.xl*;*.xm*")
Workbooks.Open Filename:=Directory
但它没有做任何事情,我认为我做的一切都是正确的。任何帮助或推动正确的方向将不胜感激。
-德克
【问题讨论】:
Maybe helpful. 请查看我对这篇文章的回复 [***.com/questions/63318815/….你可能会有所突破。 【参考方案1】:这将在指定位置启动一个打开对话框:
Sub openBeckJFolder()
With Application.FileDialog(msoFileDialogOpen)
.AllowMultiSelect = True
.Show
.InitialFileName = "C:\Users\beckj\"
End With
End Sub
Microsoft document page 并没有真正涉及到它,但FileDialog
有几个功能,例如我在这里使用的InitialFileName
。
_
更新:打开工作簿
添加的代码允许您突出显示工作簿并单击工作簿上的Open
或double-click
将其打开。
Sub openBeckJFolder()
Dim Filename As String
With Application.FileDialog(msoFileDialogOpen)
.AllowMultiSelect = False
.InitialFileName = "C:\Users\beckj\"
If .Show = True Then
Filename = .SelectedItems(1)
End If
End With
Workbooks.Open (Filename)
End Sub
【讨论】:
感谢您的回复!这有点工作,但它没有打开我选择的文件。 做到了。谢谢大家!以上是关于VBA 从特定位置选择文件?的主要内容,如果未能解决你的问题,请参考以下文章
如何提示用户在 VBA 中选择文件位置以将文件合并到一个工作簿中