ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Need a macro to Identify a users IP address (https://www.excelbanter.com/excel-programming/324231-need-macro-identify-users-ip-address.html)

havocdragon

Need a macro to Identify a users IP address
 
Hello all.

Is there a macro command that will Identify the persons IP address (the
person who is running the macro)? And then display it in a message box
(though with the macro Im sure I could figure this part out).

thanks =)

Jake Marx[_3_]

Need a macro to Identify a users IP address
 
Hi havocdragon,

Are you looking for the machine's internal or external IP address? If the
former, there's probably an API call to get the internal IP address. If the
latter, then here's a function that will do what you're looking for. Keep
in mind that it relies upon an external URL (myipaddress.com), so if that
page ever changes or the site is taken down, this will not work anymore.

Public Function sGetPublicIPAddress()
Dim x As Object
Dim sResponse As String
Dim lStart As Long
Dim lEnd As Long

Set x = CreateObject("Microsoft.XMLHTTP")

With x
.Open "GET", "http://myipaddress.com"
.send
Do Until .readyState = 4
DoEvents
Loop
sResponse = .responseText
End With

Set x = Nothing

If Len(sResponse) Then
lStart = InStr(1, sResponse, "<b") + 3
lEnd = InStr(lStart, sResponse, "</b") - 1

If lEnd lStart Then sGetPublicIPAddress = _
Mid$(sResponse, lStart, lEnd - lStart + 1)
End If
End Function

--
Regards,

Jake Marx
MS MVP - Excel
www.longhead.com

[please keep replies in the newsgroup - email address unmonitored]


havocdragon wrote:
Hello all.

Is there a macro command that will Identify the persons IP address
(the person who is running the macro)? And then display it in a
message box (though with the macro Im sure I could figure this part
out).

thanks =)



havocdragon

Need a macro to Identify a users IP address
 
Actually I do need the internal one =). I am unfamilliar with API's though.
Any idea where to look on this?

"Jake Marx" wrote:

Hi havocdragon,

Are you looking for the machine's internal or external IP address? If the
former, there's probably an API call to get the internal IP address. If the
latter, then here's a function that will do what you're looking for. Keep
in mind that it relies upon an external URL (myipaddress.com), so if that
page ever changes or the site is taken down, this will not work anymore.

Public Function sGetPublicIPAddress()
Dim x As Object
Dim sResponse As String
Dim lStart As Long
Dim lEnd As Long

Set x = CreateObject("Microsoft.XMLHTTP")

With x
.Open "GET", "http://myipaddress.com"
.send
Do Until .readyState = 4
DoEvents
Loop
sResponse = .responseText
End With

Set x = Nothing

If Len(sResponse) Then
lStart = InStr(1, sResponse, "<b") + 3
lEnd = InStr(lStart, sResponse, "</b") - 1

If lEnd lStart Then sGetPublicIPAddress = _
Mid$(sResponse, lStart, lEnd - lStart + 1)
End If
End Function

--
Regards,

Jake Marx
MS MVP - Excel
www.longhead.com

[please keep replies in the newsgroup - email address unmonitored]


havocdragon wrote:
Hello all.

Is there a macro command that will Identify the persons IP address
(the person who is running the macro)? And then display it in a
message box (though with the macro Im sure I could figure this part
out).

thanks =)




Jake Marx[_3_]

Need a macro to Identify a users IP address
 
havocdragon wrote:
Actually I do need the internal one =). I am unfamilliar with API's
though. Any idea where to look on this?


You could try something like this:

http://www.source-code.biz/snippets/vbasic/8.htm

--
Regards,

Jake Marx
MS MVP - Excel
www.longhead.com

[please keep replies in the newsgroup - email address unmonitored]


All times are GMT +1. The time now is 07:26 AM.

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