|
解決しているようですが、ネットワークのテストなら Dir関数 よりも
Sub Ck_NetWork()
Dim WshShell As Object
Dim Def_Dir As String
Const Change_Dir As String = "\\Sotec\e\"
Set WshShell = CreateObject("WScript.Shell")
Def_Dir = WshShell.CurrentDirectory
On Error Resume Next
WshShell.CurrentDirectory = Change_Dir
If Err.Number <> 0 Then
MsgBox "現在ネットワークに接続されていません", 48
Err.Clear
Else
MsgBox "現在のカレントフォルダーは" & vbLf & _
Change_Dir, 64
WshShell.CurrentDirectory = Def_Dir
End If
Set WshShell = Nothing
End Sub
という、WSHのコードの方が良いと思います。さらにDOSのPingコマンドなら
接続テスト専用ということで、より適切ではないでしょーか ? こんなコード
になります。
Sub Ck_NetWork2()
Dim WshShell As Object
Dim Ping_St As String
Const PING_CMD = "ping -n 1 -w 100 192.168.123.119"
Set WshShell = CreateObject("WScript.Shell")
Ping_St = WshShell.Exec(PING_CMD).StdOut.ReadAll
If InStr(1, Ping_St, "Lost = 0") > 0 Then
MsgBox "ネットワークに接続しています", 64
Else
MsgBox "現在ネットワークに接続されていません", 48
End If
Set WshShell = Nothing
End Sub
定数の文字列の中の
>192.168.123.119
は、ネットワーク上のPCのIPアドレスです。IPアドレスを取得するには、そのPCで
DOSプロンプトを立ち上げ、IPCONFIG というコマンドを打ち込んで Enter すれば
表示されます。それをメモしておいて定数の文字列に使ってます。
|
|