Excel VBA从单元格获取UNC并在explorer.exe中打开它

时间:2016-07-19 11:48:11

标签: excel windows vba excel-vba ms-office

我有一个包含PC主机名列表的文件,我希望能够通过单击一个单元格或按钮等连接到特定的C驱动器。

我们说我目前在A列中有主机名。我使用CONCATENATE将其转换为正确的网络路径\\ hostname \ C $并将其放在B列中。

现在我该怎么做才能点击B列中的单元格在explorer.exe中打开该位置? 我有450台PC,所以我需要能够指定范围,将网络路径提供给VBA,然后在explorer.exe中打开它 这有意义吗? :P

真的,非常感谢任何帮助。感谢。

1 个答案:

答案 0 :(得分:1)

在" Hyperlink()"中包装连接值。从那时起,它是可点击的,它将打开资源管理器。

=HYPERLINK(CONCATENATE("\\";A1;"\C$");A1)

或者您将此代码放在工作表代码窗格中,然后双击链接所在的单元格。但是你不能将它与HYPERLINK结合使用。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column <> 2 Then Exit Sub
Dim sh As Object
Set sh = CreateObject("Wscript.Shell")
sh.Run ("explorer " & Target.Value)
Cancel = True
End Sub