Excel VBA質問箱 IV

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

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


1706 / 13645 ツリー ←次へ | 前へ→

【72497】EXCEL VBによるイベントビューアの抽出 姫小百合 12/8/16(木) 10:42 質問[未読]
【72498】Re:EXCEL VBによるイベントビューアの抽出 かみちゃん 12/8/16(木) 11:14 発言[未読]
【72499】Re:EXCEL VBによるイベントビューアの抽出 姫小百合 12/8/16(木) 11:42 お礼[未読]

【72497】EXCEL VBによるイベントビューアの抽出
質問  姫小百合  - 12/8/16(木) 10:42 -

引用なし
パスワード
   初心者です。
EXCEL2003のマクロでイベントビューアのイベントIDが6005と6006のデータをEXCELファイルに抽出したいと思っています。
マクロ記述をご教示頂ければ幸いです。

【72498】Re:EXCEL VBによるイベントビューアの抽出
発言  かみちゃん E-MAIL  - 12/8/16(木) 11:14 -

引用なし
パスワード
   こんにちは。かみちゃん です。

> 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 になっているものが、対象なのでしょうか?

【72499】Re:EXCEL VBによるイベントビューアの抽出
お礼  姫小百合  - 12/8/16(木) 11:42 -

引用なし
パスワード
   かみちゃん 様

早速試してみました。うまくいきました。
早々のご教示ありがとうございました。

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