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
给此博文留言吧!
有机会上热评榜!
攒金币兑换礼品!
好的评论会让人崇拜发布评论