a=split(ipaddress)
flag=0
for i=0 to ubound(a)
if cint(a(i))<256 and cint(a(i))>0 then
flag=flag+1
else
exit for
end if
if flag=4 then msgbox "地址合法。"

解决方案 »

  1.   

    如果inet_addr 返回 INADDR_NONE表示不是合法的IPAddress
      

  2.   

    Option Explicit
    Private Declare Function inet_addr Lib "wsock32" (ByVal cp As String) As Long
    Private Const INADDR_NONE = &HFFFF
    Private Sub Command1_Click()
        If inet_addr("192.168.0.1") = INADDR_NONE Then
            Debug.Print "invalid"
        Else
            Debug.Print "valid"
        End If
        If inet_addr("255.255.255.255") = INADDR_NONE Then
            Debug.Print "invalid"
        Else
            Debug.Print "valid"
        End If
    End Sub