分享

VBA 判断是否可以访问网络

 永远的渴望 2013-11-24

VBA 判断是否可以访问网络(互联网/局域网)  

2010-12-30 10:32:19|  分类: Excel自动化 |  标签:vba  互联网   |字号 订阅

方法一: API方式

Private Declare Function InternetGetConnectedState Lib "wininet.dll" _

(lpdwFlags As Long, ByVal dwReserved As Long) As Long '申明API

Sub net()
    Dim netweb As Long
    If InternetGetConnectedState(netweb, 0) <> 0 Then
       MsgBox "可以"
    Else
       MsgBox "不可以"
    End If
End Sub

 方法二:XMLHTTP

Sub net()

Dim xml6 As Object

Set xml6 = CreateObject("Microsoft.XMLHTTP")

URL = "http://chiensq.blog.163.com"

xml6.Open "GET", URL, False

xml6.Send

If xml6.Status = 200 Then

MsgBox "可以"

Else

MsgBox "不可以"

End If

End Sub

方法三:ping

Public Function Pings(strMachines As String) As Boolean
aMachines = Split(strMachines, ";")
For Each machine In aMachines    Set objPing = GetObject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("select * _

from Win32_PingStatus where address = '" & machine & "'")
    For Each objStatus In objPing
    If IsNull(objStatus.StatusCode) Or objStatus.StatusCode <> 0 Then
        Debug.Print ("machine " & machine & " is not reachable")
        Pings = False
    Else
        Pings = True
    End If
    Next
Next
End Function

方法四:shell

Sub Chksys()

Dim oExec
oExec = CreateObject("Wscript.shell").Run("ping chiensq.blog.163.com -n 1", 0, True)
If oExec = 0 Then
msgbox "可以"
Else
msgbox"不可以"
End If
End Sub

 方法五:局域网

Sub net()
Dim fso
    Set fso = CreateObject("Scripting.FileSystemObject")
    If fso.FileExists("\\172.20.31.32\123\ver.txt") Then '文件夹FSO.folderexists(“\\172.20.31.32\123”)
        MsgBox "存在"
    Else
        MsgBox "不存在"
    End If
    Set fso = Nothing
End Sub

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多