| 
    
     |  | こんにちは。かみちゃん です。 
 > EXCEL2003のマクロでイベントビューアのイベントIDが6005と6006のデータを
 > EXCELファイルに抽出したい
 
 ネットで調べていて、以下のようなコードで抽出したことがあります。
 
 Sub Sample()
 Dim W, C, T, P, N, V, I, X
 Dim lngRow As Long
 Dim lngColumn As Long
 
 Set W = GetObject("winmgmts:\\.\root\cimv2")
 Set C = W.ExecQuery("SELECT * FROM Win32_NTLogEvent" _
 & " WHERE EventCode='6005' Or EventCode='6006'")
 
 lngRow = 0
 For Each T In C
 lngRow = lngRow + 1
 lngColumn = 0
 For Each P In T.properties_
 N = P.Name
 V = P.Value
 X = -1
 If P.IsArray Then
 On Error Resume Next
 X = UBound(P.Value)
 On Error GoTo 0
 End If
 If X < 0 Then
 lngColumn = lngColumn + 1
 Cells(lngRow, lngColumn).Value = N & ": " & V
 Else
 lngColumn = lngColumn + 1
 For I = 1 To X
 V(0) = V(0) & "." & V(I)
 Next
 Cells(lngRow, lngColumn).Value = N & ": " & V(0)
 End If
 Next
 Next
 End Sub
 
 アクティブシートの1行目から出力されますが、E列の値が EventCode: 6005 か EventCode: 6006 になっているものが、対象なのでしょうか?
 
 |  |