VBA使用路径打开文件夹

时间:2018-11-07 19:05:14

标签: excel vba path directory

希望有人在我的以下代码中提供帮助。我正在尝试打开宏工作簿当前所在的当前文件夹。在此示例中,它位于文件夹H:\Projects\IWA_Populate中。但是,工作簿在运行时可以位于任何文件夹位置。

如果在下面指定一个静态路径,它将起作用并打开到目标文件夹IWA_Populate:

Shell "explorer.exe H:\Projects\IWA_Populate", vbNormalFocus

但是我想用一个变量替换上面的路径,如下所示,它只会打开“我的文档”文件夹。

Shell "explorer.exe file_path", vbNormalFocus

这是我必须初始化file_path的代码:

Public file_path As String
Public xl As Excel.Application
Set xl = Application: xl.DisplayAlerts = False
ActiveWorkbook.Save
file_path = xl.ActiveWorkbook.Path
'Shell "explorer.exe H:\Projects\IWA_Populate", vbNormalFocus
Shell "explorer.exe file_path", vbNormalFocus
MsgBox file_path

消息框用于测试file_path是否设置为正确的完整路径。

1 个答案:

答案 0 :(得分:5)

file_path移动到引号外,并使用与号&。在引号内时,它不再是变量file_path,而是String文字"file_path"

更改:

Shell "explorer.exe file_path", vbNormalFocus

Shell "explorer.exe " & file_path, vbNormalFocus

编辑:如@TimWilliams所指出的,您可以将其调整为

Shell "explorer.exe """ & file_path & """", vbNormalFocus

在文件名中保留空格。