VBA打开资源管理器并选择,而不是打开选定的文件名

时间:2014-05-08 11:00:09

标签: excel-vba select explorer vba excel

我想要一个宏来打开Windows资源管理器,只需选择一个文件,但不希望它打开文件。 我在excel中有一个文档名列表,分成了一些变量。 我还在其中包含了一些超链接,因此您可以直接打开所选文件。 但是现在我想要一个在资源管理器中选择相应文件的宏,然后选择它。 所有文件都在预定义的位置,但所有文件名都不同,当然。 例; d:\用户名\文档\工作计划\ document.001.1.xls d:\用户名\文档\工作计划\ document.002.2.xls D:\ username \ Documents \ workplans \ document.003.3.xls

我想在excel中选择相应的文件名,然后启动宏以在资源管理器中选择它。 因此,例如,我选择单元格D3并启动宏,以便打开资源管理器并转到以下地址并选择文件; D:\ username \ Documents \ workplans \ document.002.2.xls

      A                 B             C             D                 E
 1. var 1             var 2          var 3      doc. Name          Hyperlink
 2. document            1             1     document.001.1.xls  document.001.1
 3. document            2             2     document.002.2.xls  document.002.2
 4. document            3             3     document.003.3.xls  document.003.3

如果我将以下代码直接用于链接,它的工作原理就像我想要的那样,但文件名是可变的。

Sub open_explorer()
Shell "C:\Windows\explorer.exe /select,D:\username\Documents\workplans\document.002.2.xls", vbMaximizedFocus
End Sub

我调整了代码,但它不起作用。我认为问题出在(& range(activeCell.select))中。 我如何让它工作?

Sub open_explorer()
Shell "C:\Windows\explorer.exe /select, D:\username\Documents\workplans\ &Range ActiveCell.Select", vbMaximizedFocus
End Sub

2 个答案:

答案 0 :(得分:8)

尝试一下:

Sub open_explorer()
Shell "C:\Windows\explorer.exe /select, ""D:\username\Documents\workplans\" _
    & ActiveCell.Value & """", vbMaximizedFocus
End Sub

请注意,任何包含空格或其他特殊字符的路径都需要引号。上面字符串中的加倍引号,无论是在D:之前还是在ActiveCell.Value之后(连接到字符串的结尾)都会产生双引号 char在路径之前和之后。

答案 1 :(得分:0)

如果我在文件名中添加了一个扩展名,例如" .xls"。

,上面只对我有用。
Sub open_explorer()
Shell "C:\Windows\explorer.exe /select, D:\username\Documents\workplans\" & ActiveCell.Value & ".xls", vbMaximizedFocus
End Sub