【问题标题】:Open folder using variable Path使用变量路径打开文件夹
【发布时间】:2019-04-11 06:37:41
【问题描述】:

我正在尝试打开宏工作簿所在的文件夹。

在本例中,它位于文件夹“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 是否设置为正确的完整路径。

【问题讨论】:

    标签: excel vba path directory


    【解决方案1】:

    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
    

    允许文件名中包含空格。

    【讨论】:

    • 嗨,本。这解决了问题。 ;) 非常感谢您的帮助。
    • 没问题,很乐意提供帮助。
    • 嗨,Ben,如果我的路径包含空格,Shell "explorer.exe" & file_path, vbNormalFocus 会有所不同吗?喜欢:H:\Projects\IWA 填充
    • Shell "explorer.exe """ & file_path & """", vbNormalFocus 将允许文件夹路径中有空格
    • @TimWilliams 感谢您的加入,并将其添加到答案中。
    猜你喜欢
    • 2014-04-11
    • 1970-01-01
    • 2014-03-13
    • 2012-03-13
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多