Adaptado papelera vacia por @jonetoja
Declare Function OpenClipboard _
Lib "User32.dll" _
(ByVal hWndNewOwner As Long) As Long
Declare Function EmptyClipboard _
Lib "User32.dll" () As Long
Declare Function CloseClipboard _
Lib "User32.dll" () As Long
Sub muestra_cmd1()
Call ClearClipboard
Dim objWshell As Object
Dim miPortapapeles As New DataObject, Contenido As String
Set objWshell = CreateObject("Wscript.Shell")
objWshell.Run "cmd /k "
Application.Wait Now + TimeValue("00:00:01") 'Aquí se personaliza el tiempo de espera, con 1 no funciona.
objWshell.SendKeys "cd..", True ' Aquí pones lo que deseas escribir
objWshell.SendKeys "~", True ' Activa y presiona la tecla INTRO o
Application.Wait Now + TimeValue("00:00:01") 'Aquí se personaliza el tiempo de espera, con 1 no funciona.
objWshell.SendKeys "cd..", True
objWshell.SendKeys "~", True ' Activa y presiona la tecla INTRO o
Application.Wait 1000
Application.Wait Now + TimeValue("00:00:01") 'Aquí se personaliza el tiempo de espera, con 1 no funciona.
objWshell.SendKeys "cd..", True
objWshell.SendKeys "~", True ' Activa y presiona la tecla INTRO o
Application.Wait Now + TimeValue("00:00:01") 'Aquí se personaliza el tiempo de espera, con 1 no funciona.
objWshell.SendKeys "CD C:\Windows\System32", True ' Aquí pones lo que deseas escribir
objWshell.SendKeys "~", True ' Activa y presiona la tecla INTRO o
objWshell.SendKeys "CMD | CLIP", True ' Aquí pones lo que deseas escribir
objWshell.SendKeys "~", True ' Activa y presiona la tecla INTRO o
Application.Wait Now + TimeValue("00:00:01") 'Aquí se personaliza el tiempo de espera, con 1 no funciona.
ippc = "ping " & Range("B2").Value
objWshell.SendKeys ippc, True ' Aquí pones lo que deseas escribir
objWshell.SendKeys "~", True ' Activa y presiona la tecla INTRO o
objWshell.SendKeys "EXIT", True ' Aquí pones lo que deseas escribir
objWshell.SendKeys "~", True ' Activa y presiona la tecla INTRO o
miPortapapeles.GetFromClipboard: On Error Resume Next
Contenido = miPortapapeles.GetText
objWshell.SendKeys "EXIT", True ' Aquí pones lo que deseas escribir
objWshell.SendKeys "~", True ' Activa y presiona la tecla INTRO o
Application.Wait Now + TimeValue("00:00:03") 'Aquí se personaliza el tiempo de espera, con 1 no funciona.
Range("F8").Activate
Application.Wait Now + TimeValue("00:00:02") 'Aquí se personaliza el tiempo de espera, con 1 no funciona.
ActiveSheet.Paste
End Sub
Public Sub ClearClipboard() ' Limpia el portapapeles
Dim Ret
Ret = OpenClipboard(0&)
If Ret <> 0 Then Ret = EmptyClipboard
CloseClipboard
End Sub
[/CODE]
Hola:
Respondiendo a este post:
https://www.ayudaexcel.com/foro/threads/importar-los-datos-adquiridos-de-la-consola-de-windows-a-excel.40756/
PING A EQUIPOS3.ro.jo.rar