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
我有一个包含 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