
No.4ベストアンサー
- 回答日時:
> これらが発生する原因は何が考えられるでしょうか。
OS 名と OS のバージョン、およびマクロ実行時のログインアカウントの権限は?
Sql の WHERE 句が複雑すぎるのかもしれません。これを簡単に、つまり、2回に
わけて 6005 と 6006 を取得するか、WHERE 句の AND 以降を全てカットし、
全てのイベントコードを取得してから、 Excel 側で加工するようにするか...
で改善するかも。
▼ 6005 取得の Sql(6006 は最後を " AND EventCode = 6006”に変更)
Sql = ""
Sql = Sql & "SELECT *"
Sql = Sql & " FROM Win32_NTLogEvent"
Sql = Sql & " WHERE Logfile = 'System'" _
& " AND EventCode = 6005"
これにより Excel への出力部 VBA ソースの修正が必要になりますが、その辺は
大丈夫ですよね?
参考URL:http://www.microsoft.com/japan/technet/scriptcen …
お礼が遅くなってしまい申し訳ありません。
6005と6006を別シートに分けた所、
問題無く出力できました。
今回の質問では大変お世話になりました。
自身のレベルアップも図れ、大変嬉しく思います。
分かり易いご回答、有難う御座いました。
No.3
- 回答日時:
#1 です。
Excelという範疇でしたから、イベントログについて間違えていました。
今、イベントヴューアで見てみましたが、今の私では良く分からないし、Excel VBAの直接の範疇ではないような気がしましたので、手を引きます。
イベントログ
参考URL:http://www.microsoft.com/japan/technet/scriptcen …
No.2
- 回答日時:
こんにちは。
KenKen_SP です。こんな感じで WMI を使うか、ReadEventLog API を使えば VBA で可能です。
WMI の方が手軽ですがちょいと遅いです。WMI で得られる内容の詳細については
参考 URL で調べて下さい。
' // イベントコード 6005, 6006 を取得します
Sub SampleProc()
Const wbemFlagReturnImmediately As Long = &H10
Const wbemFlagForwardOnly As Long = &H20
Dim Service As Object
Dim EventList As Object
Dim Obj As Object
Dim sComputer As String
Dim lFlags As Long
Dim Sql As String
Dim i As Long
' On Error Resume Next
sComputer = "."
lFlags = wbemFlagReturnImmediately Or wbemFlagForwardOnly
Sql = ""
Sql = Sql & "SELECT *"
Sql = Sql & " FROM Win32_NTLogEvent"
Sql = Sql & " WHERE Logfile = 'System'" _
& " AND EventCode = 6005 OR EventCode = 6006"
Set Service = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate,(Security)}!\\" _
& sComputer & "\root\cimv2")
Set EventList = Service.ExecQuery(Sql, iFlags:=lFlags)
' 出力
Cells.Clear
Range("A1:D1").Value = Array("Code", "DateTime", "Computer", "Message")
i = 2
For Each Obj In EventList
Cells(i, "A").Value = Obj.EventCode
Cells(i, "B").Value = Obj.TimeGenerated ' yyyymmddhhmmss.0000・・・形式です
Cells(i, "C").Value = Obj.ComputerName
Cells(i, "D").Value = Replace$(Obj.Message, vbCrLf, "")
i = i + 1
Next
Columns("A:D").AutoFit
Set EventList = Nothing
Set Service = Nothing
End Sub
参考URL:http://msdn.microsoft.com/library/default.asp?ur …
この回答への補足
度々申し訳ありません。
お礼のコメントに補足をさせて下さい。
コメント欄の"⇒"部でのエラーは数度目の実行で何故か無くなりました。
しかし、今度はfor~Nextでオートメーションエラーが発生してしまいます。
エラーは、実行(F5)で送るとi=120あたりで、ステップイン(F8)で送るとi=20あたりで発生します。
これらが発生する原因は何が考えられるでしょうか。
ご回答有難う御座います。
WMIは今まで使用する機会がなかったので大変興味深いです。
色々と使えそうですので今後、勉強してみようと思います。
あと、一点質問させて下さい。
> ' 出力
> Cells.Clear
> Range("A1:D1").Value = Array("Code", "DateTime", "Computer", "Message")
> i = 2
⇒> For Each Obj In EventList
> Cells(i, "A").Value = Obj.EventCode
ご回答頂いたコードをそのまま貼り付け実行してみたところ
上記コードの"⇒"部でエラーが発生してしまうのですが、
原因として何が考えられるでしょうか。
再度の質問で申し訳ありませんが、教えて頂けませんでしょうか。
No.1
- 回答日時:
こんばんは。
質問の意味が分かりません。
>eventlogの6005と6006
なんに対するイベントログなのですか?ただ、何もなくてイベントが発生するというようなことはありません。何かに起動しているわけで、まったくの自動でイベントが発生しているわけではありません。それは、OnTimeや、ActiveX コントロールなどの、タイマーだと思います。ただ、そうですと、結構、難しいものがあると思います。つまり、元がマクロの場合は、二つは、同時に働かないからです。詳しい状況が分からないと、できません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 「Excelのオプション」の「ユーザーインターフェイスのオプション」の設定値をVBAで取得したい 1 2022/07/31 23:49
- Excel(エクセル) Excel vbaについて、知恵を下さい。 下表①で出勤が「あり」になっている対象者を隣のシートにあ 1 2022/10/20 18:58
- Visual Basic(VBA) VBAでPDFのアクティブページ番号取得 1 2023/05/25 12:41
- Visual Basic(VBA) 【VBA】先月分の取得ができない理由が分かりません。 2 2022/04/24 11:16
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) VBA アドインについて お詳しい方 ご教授をお願いします。 相談事項 現在以下の対応を実施した所、 1 2022/11/02 16:53
- Visual Basic(VBA) エクセルのマクロとシートの保護について教えてください。 1 2022/10/18 08:36
- Visual Basic(VBA) Excel VBA ファイル取得について フォルダの中に、ファイル名“会議“を含むファイルが1つまた 9 2022/10/12 01:18
- Excel(エクセル) excelのマクロ実行でブロックされます。 2 2022/06/08 09:14
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ミンサガ いきなり四天王と戦...
-
MS Accessでフォームの「開く時...
-
ゼルダの伝説ふしぎのぼうし・...
-
太閤立志伝5おすすめ秀吉にて...
-
学校をつくろう!!校長先生物...
-
PS3版テイルズオブヴェスペリア...
-
ドラクエ8 隠しボス倒した後...
-
EnableEventsの意味は
-
ドラクエ8 異世界
-
ドレクエ:現代の海底都市への...
-
「風雨来記」サブキャラ攻略法...
-
VBAから変更した時だけイベント...
-
メダロット2『ぎんのロケット...
-
パワプロ2018、サクセス、オリ...
-
アクセス-オプションボタンのグ...
-
RPGツクール2000での町の作り方
-
あつまれどうぶつの森の話です...
-
写真のようなビニール製の袋の...
-
モンハン2ndGの太古の塊・さび...
-
フリーセルでクリアできない番...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MS Accessでフォームの「開く時...
-
VBAから変更した時だけイベント...
-
ミンサガ いきなり四天王と戦...
-
ドレクエ:現代の海底都市への...
-
PS3版テイルズオブヴェスペリア...
-
wiiのドラゴンボールzスパーキ...
-
メタルギアソリッド3 独房から...
-
ファイアーエムブレム聖戦の系...
-
PS ワンピース オーシャン...
-
FF(7)でエアリスは、どこで死ぬ...
-
PCの三国志11で諸葛亮が何度...
-
「風雨来記」サブキャラ攻略法...
-
アクセス-オプションボタンのグ...
-
ドラゴンクエスト9 ナザム村...
-
学校をつくろう!!校長先生物...
-
信長の野望・革新で本能寺の変...
-
EnableEventsの意味は
-
これってバグ?(FF8/CC団)
-
Switch『マリオサンシャイン』...
-
テイルズオブエターニアの7大...
おすすめ情報