新浪博客

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

2013-12-03 21:52阅读:177
方法一: 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

留言板

下载客户端体验更佳,还能发布图片和表情~

亿万博主正在被热评!
999+

给此博文留言吧! 有机会上热评榜! 攒金币兑换礼品!

好的评论会让人崇拜发布评论

我的更多文章

下载客户端阅读体验更佳

APP专享