|
こんにちは。かみちゃん です。
> 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 になっているものが、対象なのでしょうか?
|
|