我怎样才能执行一个cmd行命令传递Excel数据作为参数?

我们在excel中有大量的用户ID,希望能够点击用户ID并执行以下命令并显示结果: net user /domain <user ID>

我会想象,呼叫壳是正确的方式去…我只是不熟悉使用VB和Excel。

有任何想法吗?

试试这个子。 这个子工程适用于一般的DOS /批处理命令。

 Private Sub Worksheet_Change(ByVal Target As Range) If Not Application.Intersect(Target, Range("A:A")) Is Nothing Then 'Call Shell("CMD.EXE /c " & Target.Value) Call Shell("cmd.exe /c net user /domain " & Target.Value) End If End Sub 

假设您的User Name'sColumn A双击具有用户名的任何单元格,然后按ENTERTAB

这是一个工作100%的截图(为了您的澄清)。 在这里输入图像说明

您可以将其挂钩到工作表的select更改事件中,代码将位于工作表模块中。

 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column = 1 Then 'assuming your ID's are in column A Call Shell("cmd.exe" & "rest of your command") End If End Sub