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

Excel VBA to get UNC from cell and open it in explorer.exe

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

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

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

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

将连接的值包装在 "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