Excel VBA質問箱 IV

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

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


1062 / 13644 ツリー ←次へ | 前へ→

【76499】他PCのEXCEL VBによるイベントビューアの抽出 K2R 14/12/16(火) 22:58 質問[未読]
【76502】Re:他PCのEXCEL VBによるイベントビューア... コマさん 14/12/17(水) 11:36 回答[未読]
【76505】Re:他PCのEXCEL VBによるイベントビューア... K2R 14/12/17(水) 22:10 質問[未読]
【76507】Re:他PCのEXCEL VBによるイベントビューア... コマさん 14/12/18(木) 9:59 発言[未読]
【76513】Re:他PCのEXCEL VBによるイベントビューア... K2R 14/12/18(木) 23:38 発言[未読]
【76514】Re:他PCのEXCEL VBによるイベントビューア... γ 14/12/20(土) 7:58 発言[未読]
【76521】Re:他PCのEXCEL VBによるイベントビューア... K2R 14/12/22(月) 20:59 お礼[未読]
【76522】Re:他PCのEXCEL VBによるイベントビューア... γ 14/12/22(月) 21:45 発言[未読]
【76523】Re:他PCのEXCEL VBによるイベントビューア... K2R 14/12/24(水) 21:11 お礼[未読]
【76524】Re:他PCのEXCEL VBによるイベントビューア... γ 14/12/24(水) 21:27 回答[未読]

【76499】他PCのEXCEL VBによるイベントビューアの...
質問  K2R  - 14/12/16(火) 22:58 -

引用なし
パスワード
   こんにちは。
他のPCで収集したApp.evtをエクセルのVBで開き、作業したいと考えています。
作業性の効率を考えると「イベントビューワで開いてCSVファイルで保存し、エクセルで開いて作業」とすると、他のEVTファイルが多いので結構手間となってしまいます。

1.手動で「ファイルを開く」操作を行い、EVTファイルを指定
2.イベントIDが6005と6006のデータ・日付・時刻をシートに一覧抽出
3.そこから別マクロで色わけなど自動作業を実施(こちらは作成できます)。

過去履歴を検索しますと
【72497】EXCEL VBによるイベントビューアの抽出 
がありますが、自PCからの抽出で、他のPC(XP)のEVTファイルではできないようで、いじってみましたができませんでした。
上記1.2.に関しては可能でしょうか。。

以上、よろしくお願いします。

【76502】Re:他PCのEXCEL VBによるイベントビュー...
回答  コマさん  - 14/12/17(水) 11:36 -

引用なし
パスワード
   ちょっと質問の内容がわからないので、補足願えますか?


>他のPCで収集したApp.evtをエクセルのVBで開き、作業したいと考えています。

[他のPCで収集したApp.evt]は、どこにあるんですか?自PC?


>1.手動で「ファイルを開く」操作を行い、EVTファイルを指定
>上記1.2.に関しては可能でしょうか。。

手動で「ファイルを開く」操作を行い、EVTファイルを指定
→これが可能でしょうか?という質問の意味がわかりかねます。


結局のところ、
『自PCで他PCのEVT抽出を行いたいけど可能かどうか?』
という質問なのでしょうか?

【76505】Re:他PCのEXCEL VBによるイベントビュー...
質問  K2R  - 14/12/17(水) 22:10 -

引用なし
パスワード
   返事ありがとうございます。以下、補足します。
>> 他のPCで収集したApp.evtをエクセルのVBで開き、作業したいと考えています。
>
> [他のPCで収集したApp.evt]は、どこにあるんですか?自PC?

→自分のPCにあります。他のPCから採取したEVTファイルがログ解析にて送られてきます。

>> 1.手動で「ファイルを開く」操作を行い、EVTファイルを指定
>> 上記1.2.に関しては可能でしょうか。。
>
> 手動で「ファイルを開く」操作を行い、EVTファイルを指定
> →これが可能でしょうか?という質問の意味がわかりかねます。

→すいません。こちらはマクロで作成可能でした。

>
> 結局のところ、
> 『自PCで他PCのEVT抽出を行いたいけど可能かどうか?』
> という質問なのでしょうか?

→抽出は既に他PC自身のログ収集でEVTファイル形式で自動で行われており、EVTファイルのみ自PCに送られてきています。
他PCで抽出時点でCSVにしてもらえば良いだけの話かもしれませんが、その変更に
いろいろ制約があって費用がかかり容易ではないので相談させてもらいました。

まとめますと、
「送られてきた他PC(XP)のAppevent.EVTファイルを自PCのエクセルマクロでデータ抽出し、エクセルシートに展開可能か」という内容となります。

以上、よろしくお願いします。

【76507】Re:他PCのEXCEL VBによるイベントビュー...
発言  コマさん  - 14/12/18(木) 9:59 -

引用なし
パスワード
   >「送られてきた他PC(XP)のAppevent.EVTファイルを自PCのエクセルマクロでデータ抽出し、エクセルシートに展開可能か」という内容となります。

XPでしたか・・・。
すみません、こちらにXP環境がありませんので、これにて失礼します。

【76513】Re:他PCのEXCEL VBによるイベントビュー...
発言  K2R  - 14/12/18(木) 23:38 -

引用なし
パスワード
   ▼コマさん さん:
>>「送られてきた他PC(XP)のAppevent.EVTファイルを自PCのエクセルマクロでデータ抽出し、エクセルシートに展開可能か」という内容となります。
>
>XPでしたか・・・。
>すみません、こちらにXP環境がありませんので、これにて失礼します。

もしよろしければそちらの環境下でのコード内容を教えて頂く事は可能でしょうか。
その内容を元にこちらで試してみたいと思うのですが。。。

【76514】Re:他PCのEXCEL VBによるイベントビュー...
発言  γ  - 14/12/20(土) 7:58 -

引用なし
パスワード
   こんにちは。
evtファイルは特殊なフォーマットを持ったバイナリファイルのようですから、
VBAマクロで読み込むのは難しいように思います。(不可能ではないと思いますが)

「evtファイル csv変換」でGoogle検索すると、
Log Parserを使った方法が紹介されています。
これはトライされていますか?
まだでしたらトライして、結果を教えてください。

こちらはXP環境ではないので、検証できません。
なお、SQLでEventIDを6005と6006に絞り込んだうえで
CSVに書き出すと良いと思います。

【76521】Re:他PCのEXCEL VBによるイベントビュー...
お礼  K2R  - 14/12/22(月) 20:59 -

引用なし
パスワード
   Log Parcerはトライしてみましたが、こちらWindows7ではなかなか手強く、XPのEVTファイルをうまく読んでくれません。。。
当分時間が空いたらトライしてみます。
回答頂いた皆様、どうもありがとうございました。


▼γ さん:
>こんにちは。
>evtファイルは特殊なフォーマットを持ったバイナリファイルのようですから、
>VBAマクロで読み込むのは難しいように思います。(不可能ではないと思いますが)
>
> 「evtファイル csv変換」でGoogle検索すると、
>Log Parserを使った方法が紹介されています。
>これはトライされていますか?
>まだでしたらトライして、結果を教えてください。
>
>こちらはXP環境ではないので、検証できません。
>なお、SQLでEventIDを6005と6006に絞り込んだうえで
>CSVに書き出すと良いと思います。

【76522】Re:他PCのEXCEL VBによるイベントビュー...
発言  γ  - 14/12/22(月) 21:45 -

引用なし
パスワード
   それらのログファイル(6005,6006なら application ではなく、system のほうだと思うが)を
ひとつのフォルダに入れ、
cmdプロンプトを立ち上げて、そのフォルダに移動し、

LogParser -i:EVT -o:CSV "Select * From *.evt Where EventID= '6005' OR EventID = '6006' " > logfile.csv
とすれば、ひとつのファイルに全員の結果が書き込まれるはずです。

(1)LogParserのパスが通ってなければ、フォルダを含んだパス名とする。
  途中にスペースを含む場合は、パス名を""で囲むとよい。
(2)csvファイルのなかに、ファイル名が書き込まれるから、各人の識別は可能。

あとは、Excelの話だから、ピボットテーブルでも何でも使って、
各人別の Login,LogOut時間の一覧を作成すればいい。

【76523】Re:他PCのEXCEL VBによるイベントビュー...
お礼  K2R  - 14/12/24(水) 21:11 -

引用なし
パスワード
   やっとこさできました。

XPで保存したEVTファイルを自分のWindows7環境で試していましたがどうしてもファイルを読み込まないので怒られるので調べてみたところ、EVTをEVTXに変換しないとダメ、とのことでした。
変換するコマンドを入れて下記のバッチファイルで行けました。
とりあえずマクロで動かすのにLogparser.exeとこれでいくか、Logparser.dllを登録してVBスクリプト使用するかいろいろ試してみたいと思います。

いろいろとアドバイス本当にありがとうございました!

(BATファイル内容)
wevtutil epl d:\log\AppEvent.evt d:\log\AppEvent_new.evtx /lf:true

C:\"Program Files\Log Parser 2.2\LogParser" -i:EVT -o:csv "SELECT TimeGenerated, EventID FROM D:\log\*.evt" > d:\log\a.csv

【76524】Re:他PCのEXCEL VBによるイベントビュー...
回答  γ  - 14/12/24(水) 21:27 -

引用なし
パスワード
   > 「evtファイル csv変換」でGoogle検索
の記事の中にもそのコマンドの話が載っていますから、
早晩行き着くと思っておりました。

Logparser.dllは参照設定で少し戸惑うでしょう。
インストールしたフォルダにある
chmヘルプにすべて書いてあります。

開始日時、終了日時の指定、項目の限定など、
細かいことをするのであれば、
結局は、クエリーファイルを外出しする方法が一番簡便な気がします。
それでは。

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