ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Returning the IP results from a ping? (https://www.excelbanter.com/excel-programming/407584-returning-ip-results-ping.html)

[email protected]

Returning the IP results from a ping?
 
I snagged this beautiful piece of code from here, and I've seen other
code that could do it, but I'm having a hard time gluing it all
together. Is there any way I can make this:

---start code---

Public Sub PingIt()

Set Machines = Sheets(1).Range("A1", "A3")

For Each Machine In Machines.Cells
Debug.Print Machine
Set objPing = GetObject _
("winmgmts:{impersonationLevel=impersonate}"). _
ExecQuery("select * from Win32_PingStatus " & _
"where address = '" & Machine & "'")

For Each objStatus In objPing

If objStatus.StatusCode = 0 Then
Sheets(1).Cells(Machine.Row, Machine.Column + 1) = _
"Success"


Else

Sheets(1).Cells(Machine.Row, Machine.Column + 1) = _
"Failed"

End If

Next
Next

End Sub

---end code---

Not only tell me if it Success/Failed on the ping, but also in the
next column over the IP address?

TIA,
Benjamin

urkec

Returning the IP results from a ping?
 
" wrote:

I snagged this beautiful piece of code from here, and I've seen other
code that could do it, but I'm having a hard time gluing it all
together. Is there any way I can make this:

---start code---

Public Sub PingIt()

Set Machines = Sheets(1).Range("A1", "A3")

For Each Machine In Machines.Cells
Debug.Print Machine
Set objPing = GetObject _
("winmgmts:{impersonationLevel=impersonate}"). _
ExecQuery("select * from Win32_PingStatus " & _
"where address = '" & Machine & "'")

For Each objStatus In objPing

If objStatus.StatusCode = 0 Then
Sheets(1).Cells(Machine.Row, Machine.Column + 1) = _
"Success"


Else

Sheets(1).Cells(Machine.Row, Machine.Column + 1) = _
"Failed"

End If

Next
Next

End Sub

---end code---

Not only tell me if it Success/Failed on the ping, but also in the
next column over the IP address?

TIA,
Benjamin



Does this code work for you:

Public Sub PingIt()

Set Machines = Sheets(1).Range("A1", "A3")

For Each Machine In Machines.Cells
Debug.Print Machine
Set objPing = GetObject _
("winmgmts:{impersonationLevel=impersonate}"). _
ExecQuery("select * from Win32_PingStatus " & _
"where address = '" & Machine & "'")

For Each objStatus In objPing

If objStatus.StatusCode = 0 Then

Sheets(1).Cells(Machine.Row, Machine.Column + 1) = _
"Success"
Sheets(1).Cells(Machine.Row, Machine.Column + 2) = _
objStatus.ProtocolAddress

Else

Sheets(1).Cells(Machine.Row, Machine.Column + 1) = _
"Failed"

End If

Next
Next

End Sub


I can't test it right now, but the documentation for ProtocolAddress says it
is the address that the destination used to reply.


--
urkec

[email protected]

Returning the IP results from a ping?
 
On Mar 12, 3:18 pm, urkec wrote:
" wrote:
I snagged this beautiful piece of code from here, and I've seen other
code that could do it, but I'm having a hard time gluing it all
together. Is there any way I can make this:


---start code---


Public Sub PingIt()


Set Machines = Sheets(1).Range("A1", "A3")


For Each Machine In Machines.Cells
Debug.Print Machine
Set objPing = GetObject _
("winmgmts:{impersonationLevel=impersonate}"). _
ExecQuery("select * from Win32_PingStatus " & _
"where address = '" & Machine & "'")


For Each objStatus In objPing


If objStatus.StatusCode = 0 Then
Sheets(1).Cells(Machine.Row, Machine.Column + 1) = _
"Success"


Else


Sheets(1).Cells(Machine.Row, Machine.Column + 1) = _
"Failed"


End If


Next
Next


End Sub


---end code---


Not only tell me if it Success/Failed on the ping, but also in the
next column over the IP address?


TIA,
Benjamin


Does this code work for you:

Public Sub PingIt()

Set Machines = Sheets(1).Range("A1", "A3")

For Each Machine In Machines.Cells
Debug.Print Machine
Set objPing = GetObject _
("winmgmts:{impersonationLevel=impersonate}"). _
ExecQuery("select * from Win32_PingStatus " & _
"where address = '" & Machine & "'")

For Each objStatus In objPing

If objStatus.StatusCode = 0 Then

Sheets(1).Cells(Machine.Row, Machine.Column + 1) = _
"Success"
Sheets(1).Cells(Machine.Row, Machine.Column + 2) = _
objStatus.ProtocolAddress

Else

Sheets(1).Cells(Machine.Row, Machine.Column + 1) = _
"Failed"

End If

Next
Next

End Sub

I can't test it right now, but the documentation for ProtocolAddress says it
is the address that the destination used to reply.

--
urkec


It does. I love you. I love you. I love you. Where are you guys
getting the documentation from? (I saw a reference to it earlier)
Inside the help files under VBA?

Thank you so much urkec! ;)

urkec

Returning the IP results from a ping?
 
" wrote:

On Mar 12, 3:18 pm, urkec wrote:
" wrote:
I snagged this beautiful piece of code from here, and I've seen other
code that could do it, but I'm having a hard time gluing it all
together. Is there any way I can make this:


---start code---


Public Sub PingIt()


Set Machines = Sheets(1).Range("A1", "A3")


For Each Machine In Machines.Cells
Debug.Print Machine
Set objPing = GetObject _
("winmgmts:{impersonationLevel=impersonate}"). _
ExecQuery("select * from Win32_PingStatus " & _
"where address = '" & Machine & "'")


For Each objStatus In objPing


If objStatus.StatusCode = 0 Then
Sheets(1).Cells(Machine.Row, Machine.Column + 1) = _
"Success"


Else


Sheets(1).Cells(Machine.Row, Machine.Column + 1) = _
"Failed"


End If


Next
Next


End Sub


---end code---


Not only tell me if it Success/Failed on the ping, but also in the
next column over the IP address?


TIA,
Benjamin


Does this code work for you:

Public Sub PingIt()

Set Machines = Sheets(1).Range("A1", "A3")

For Each Machine In Machines.Cells
Debug.Print Machine
Set objPing = GetObject _
("winmgmts:{impersonationLevel=impersonate}"). _
ExecQuery("select * from Win32_PingStatus " & _
"where address = '" & Machine & "'")

For Each objStatus In objPing

If objStatus.StatusCode = 0 Then

Sheets(1).Cells(Machine.Row, Machine.Column + 1) = _
"Success"
Sheets(1).Cells(Machine.Row, Machine.Column + 2) = _
objStatus.ProtocolAddress

Else

Sheets(1).Cells(Machine.Row, Machine.Column + 1) = _
"Failed"

End If

Next
Next

End Sub

Where are you guys
getting the documentation from? (I saw a reference to it earlier)
Inside the help files under VBA?


For WMI classes like Win32_PingStatus, it is he


http://msdn2.microsoft.com/en-us/lib...84(VS.85).aspx

--
urkec


All times are GMT +1. The time now is 05:32 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com