投稿

7月, 2015の投稿を表示しています

ACCESSでpingってみた

先ほどのはEXCELですが、実はVLOOKだとレコード重複とかあるんで 比較をACCESSでした方がいいことと、一々ACCESSテーブルをEXCELに 落としてpingして結果をインポートとかいう馬鹿げたことをしたくないので ACCESSに先ほどのやつを移植。 短時間でやっているから、エラーチェックとか細かいのなしです。 まぁそんなに使わんしね。備忘録で Private Sub コマンド1_Click() '参照URL:http://accessvba.pc-users.net/ado/move_record.html '  http://www.moug.net/tech/acvba/0080026.html ' Dim cn As ADODB.Connection Dim rs As New ADODB.Recordset Dim tblName As String Dim IpAddr As String Dim fieldSearch As String tblName = "t_diff" Set cn = CurrentProject.Connection rs.Open tblName, cn, adOpenKeyset, adLockOptimistic, adCmdTableDirect rs.MoveFirst Dim objWSH As Object, oEx As Object Dim result As String Const msg = "ラウンド トリップの概算時間" Do Until rs.EOF IpAddr = rs![IPアドレス管理表] fieldSearch = "IPアドレス管理表=" & "'" & IpAddr & "'" cmd = "

EXCELのIPアドレス管理台帳から自動pingってみた

とあるツールとEXCELのIPアドレス管理台帳で 差異が出やがったんで手でpingうつのもだるいと思って 調べたらありましたよ。手でやったら10分コースかな 検索結果 ざくっとパクらせていただきました。 あざっす。んで今自動ping終了しました。 けどEXCELだIPの差分出してるのACCESSだからACCESSで 完結した方がいいな。今後の課題 Sub test() Dim objWSH As Object, oEx As Object Dim result As String Const msg = "ラウンド トリップの概算時間" For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row cmd = "cmd.exe /c ping -n 1 " & Cells(i, 1) Set objWSH = CreateObject("WScript.Shell") Set oEx = objWSH.Exec(cmd) Do While oEx.Status = 0 DoEvents Loop result = oEx.StdOut.ReadAll If InStr(result, msg) = 0 Then Cells(i, 2) = "PingNG" Else Cells(i, 2) = "PingOK" End If Set objWSH = Nothing Next End Sub