Q: How can I use VB Script to display the first 3 octets in a TCP/IP address?
A: Since IP addresses are not fixed length, you will have to count the number of separators before you can extract the octets. With that said, listed below is the sample VB Script code.
strIP = inputbox("Enter an IP Address for testing to extract the first 3 Octets:")
intLastDecimal = 1
For intCounter = 1 to 3
intLastDecimal = InStr(intLastDecimal, strIP, ".") + 1
Next
iNewLength = intLastDecimal-2
strNewIP = Left(strIP, iNewLength )
MsgBox "strNewIP=" & strNewIP
To run this code, simply copy and paste it into a flat file and name it with a .VBS extension.
For more resources on VB Scripting, please visit the following links:
http://msdn2.microsoft.com/en-us/library/3ca8tfek.aspx
http://msdn2.microsoft.com/en-us/library/ms974570.aspx
http://www.w3schools.com/vbscript/vbscript_ref_functions.asp
Sam, much easier way than counting characters. Let me introduce you to the Split function.
ReplyDeleteOption Explicit
Dim strIP, arrIP
Do
strIP = inputbox("Enter an IP Address for testing to extract the first 3 Octets:",, strIP)
If strIP = "" Then WScript.Quit
arrIP = Split(strIP, ".")
If UBound(arrIP) < 3 Then
MsgBox "IP Address entered does not have 4 segments, please reenter the address"
Else
Exit Do
End If
Loop
MsgBox "IP: " & arrIP(0) & "." & arrIP(1) & "." & arrIP(2)
Like the old saying, more than 1 way to skin a cat. Thanks for your input.
ReplyDelete