我怎样才能执行一个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's
在Column A
双击具有用户名的任何单元格,然后按ENTER
或TAB
键
这是一个工作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