Ocultar ventana ejecutando ping desde macro.
¿Qué tal? Tengo el siguiente planteo.
Macro:
Sub LanzarPings()
Dim wksHoja As Worksheet
Dim strInstruc As String, lngRetVal As Long, n As Long
Dim strPing As String, strCarácter As String, intFreeFile As Integer
Set wksHoja = Worksheets("Hoja1") 'Hoja que se procesará
For n = 1 To wksHoja.[A65536].End(xlUp).Row
strInstruc = Environ("systemroot") & "\system32\ping.exe -n 1 " & [Hoja1].Cells(n, 1) & " > c:\ping.txt && dir c:\ping.txt" 'Nota: el dir es para que el CMD tenga que esperar a que termine el ping.
lngRetVal = ExecCmd("CMD.exe /C " & strInstruc)
intFreeFile = FreeFile()
Open "C:\ping.txt" For Input As intFreeFile
While Not EOF(intFreeFile)
Line Input #intFreeFile, strCarácter
strPing = strPing & strCarácter
Wend
wksHoja.Cells(n, 2).Value = strPing
strPing = ""
Next n
'MsgBox lngRetVal
Sub LanzarPings() Dim wksHoja As Worksheet Dim strInstruc As String, lngRetVal As Long, n As Long Dim strPing As String, strCarácter As String, intFreeFile As Integer Set wksHoja = Worksheets("Hoja1") 'Hoja que se procesará
For n = 1 To wksHoja.[A65536].End(xlUp).Row strInstruc = Environ("systemroot") & "\system32\ping.exe -n 1 " & [Hoja1].Cells(n, 1) & " > c:\ping.txt && dir c:\ping.txt" 'Nota: el dir es para que el CMD tenga que esperar a que termine el ping. lngRetVal = ExecCmd("CMD.exe /C " & strInstruc) intFreeFile = FreeFile() Open "C:\ping.txt" For Input As intFreeFile While Not EOF(intFreeFile) Line Input #intFreeFile, strCarácter strPing = strPing & strCarácter Wend wksHoja.Cells(n, 2).Value = strPing strPing = "" Next n 'MsgBox lngRetVal
Con esta Macro realizo un ping a toda la columna A, quisiera saber si es posible ocultar la ventana cada vez que se ejecuta el ping y si es posible extraer además de los datos de respuesta del ping, la fecha en la que se ejecuta.
Macro:
Sub LanzarPings()
Dim wksHoja As Worksheet
Dim strInstruc As String, lngRetVal As Long, n As Long
Dim strPing As String, strCarácter As String, intFreeFile As Integer
Set wksHoja = Worksheets("Hoja1") 'Hoja que se procesará
For n = 1 To wksHoja.[A65536].End(xlUp).Row
strInstruc = Environ("systemroot") & "\system32\ping.exe -n 1 " & [Hoja1].Cells(n, 1) & " > c:\ping.txt && dir c:\ping.txt" 'Nota: el dir es para que el CMD tenga que esperar a que termine el ping.
lngRetVal = ExecCmd("CMD.exe /C " & strInstruc)
intFreeFile = FreeFile()
Open "C:\ping.txt" For Input As intFreeFile
While Not EOF(intFreeFile)
Line Input #intFreeFile, strCarácter
strPing = strPing & strCarácter
Wend
wksHoja.Cells(n, 2).Value = strPing
strPing = ""
Next n
'MsgBox lngRetVal
Sub LanzarPings() Dim wksHoja As Worksheet Dim strInstruc As String, lngRetVal As Long, n As Long Dim strPing As String, strCarácter As String, intFreeFile As Integer Set wksHoja = Worksheets("Hoja1") 'Hoja que se procesará
For n = 1 To wksHoja.[A65536].End(xlUp).Row strInstruc = Environ("systemroot") & "\system32\ping.exe -n 1 " & [Hoja1].Cells(n, 1) & " > c:\ping.txt && dir c:\ping.txt" 'Nota: el dir es para que el CMD tenga que esperar a que termine el ping. lngRetVal = ExecCmd("CMD.exe /C " & strInstruc) intFreeFile = FreeFile() Open "C:\ping.txt" For Input As intFreeFile While Not EOF(intFreeFile) Line Input #intFreeFile, strCarácter strPing = strPing & strCarácter Wend wksHoja.Cells(n, 2).Value = strPing strPing = "" Next n 'MsgBox lngRetVal
Con esta Macro realizo un ping a toda la columna A, quisiera saber si es posible ocultar la ventana cada vez que se ejecuta el ping y si es posible extraer además de los datos de respuesta del ping, la fecha en la que se ejecuta.
Respuesta de caranbis
1