Excel VBA打开文件夹使用explorer.exe的相同实例

时间:2018-07-20 12:03:17

标签: excel excel-vba explorer

我在excel vba中使用以下代码

returnval = Shell("explorer.exe " & folderPath, vbNormalFocus)

打开文件夹,效果很好,但是它启动了Windows资源管理器的新过程。现在,两个Windows资源管理器进程在任务管理器中可见。如果我继续将此函数与其他folderPath配合使用,则每次都会创建一个新的资源管理器实例。

如何使用现有的explorer.exe实例从excel vba打开文件夹?

2 个答案:

答案 0 :(得分:0)

尝试explorer.exe的完整路径。例如,您应该使用C:\ WINDOWS \ explorer.exe而不是explorer.exe。这对我有用。

答案 1 :(得分:0)

ThisWorkbook拥有以下超链接,而不是Shell,它将使用默认应用打开任何文件/ URL。它不会为我打开explorer.exe的另一个进程。

ThisWorkbook.FollowHyperlink "C:\filepath"

如果您确实需要使用shell,则必须调用cmd.exe然后像这样启动:

returnval = Shell("cmd.exe /c start filepath")