Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


47184 / 76732 ←次へ | 前へ→

【34509】Re:ネットワークが有効であるかどうか
回答  Kein  - 06/2/4(土) 13:14 -

引用なし
パスワード
   解決しているようですが、ネットワークのテストなら 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 すれば
表示されます。それをメモしておいて定数の文字列に使ってます。

0 hits

【34505】ネットワークが有効であるかどうか Seitakuki 06/2/4(土) 11:53 質問
【34506】Re:ネットワークが有効であるかどうか ichinose 06/2/4(土) 12:28 発言
【34507】Re:ネットワークが有効であるかどうか Seitakuki 06/2/4(土) 12:45 お礼
【34509】Re:ネットワークが有効であるかどうか Kein 06/2/4(土) 13:14 回答
【34510】Re:ネットワークが有効であるかどうか Seitakuki 06/2/4(土) 14:19 お礼

47184 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free