お世話になっております。
題名の件ですが、
▼Accessマクロ
Function EventQuery()
Dim objWSH As Object
Set objWSH = CreateObject("WScript.Shell")
objWSH.Run """C:\Documents and Settings\userName\デスクトップ\EventLogAccess\event.bat"""
Set objWSH = Nothing
End Function
上記マクロで、event.batというバッチ処理を実行しております。
▼event.bat
set fname=%DATE:/=%
eventquery /s server /u userName /p passWord /l application /fi "Id eq 8" /fi "Datetime gt 12/04/2009,01:00:00AM" /r 500 /v >%fname%.txt
上記バッチ処理で、2009年12月4日のイベントログ(アプリケーション)の一覧を取得しております。
【質問内容】
eventquery.vbsのオプションでは日付指定しかできないみたいですが、
実行した当日のログ(アプリケーション)を取得したいと考えております。
方法はないでしょうか?
ご教示の程宜しくお願い致します。
No.2ベストアンサー
- 回答日時:
>>event.bat の 12/04/2009 の部分をパラメータ %1 に変更して
>▼event.bat
>set fname=%DATE:/=%
>eventquery /s server /u userName /p passWord /l application /fi "Id eq 8" /fi "Datetime gt %1,01:00:00AM" /r 500 /v >%fname%.txt
>
>上記のように変更すると、エラーとなりログの取得ができないです。
この文章からですと、
「Access で 実行する .Run の内容を "~\event.bat" & Format(Date,"mm/dd/yyyy") 」
の部分がされていないのではないか、と思えてしまうのですが・・・。
「Access で 実行する .Run の内容を "~\event.bat" & Format(Date,"mm/dd/yyyy") 」
の内容を理解されているのかいないのかよくわからないのですが、とりあえず、もう一つ、「Access で 実行する .Run の内容を "~\event.bat" & Format(Date,"mm/dd/yyyy") 」にせずにできる方法を考えてみました。
コントロールパネルの「地域と言語のオプション」の日付の設定が
YYYY/MM/DD になっている場合ですと、
set fname=%DATE:/=%
FOR /F "tokens=1-3 delims=/ " %%A in ('DATE /T') do SET YYYY=%%A&SET MM=%%B&SET DD=%%C
eventquery /s server /u userName /p passWord /l application /fi "Id eq 8" /fi "Datetime gt %MM%/%DD%/%YYYY%,01:00:00AM" /r 500 /v >%fname%.txt
のようにすると、%MM%/%DD%/%YYYY% が実行した日付に置き換わります。
>%1の意味を教えていただけないでしょうか。
%1 は1番目のパラメータです。
同様に %2 ~ %9 が使用できます。
例えば、
COPY AAA.TXT %1
という内容の BBB.BAT があったとすると
BBB.BAT CCC.TXT
を実行すると BBB.BAT の中で %1 が CCC.TXT に置き換わり、
COPY AAA.TXT CCC.TXT
が実行されます。
>「Access で 実行する .Run の内容を "~\event.bat" & Format(Date,"mm/dd/yyyy") 」
>の部分がされていないのではないか、と思えてしまうのですが・・・。
仰るとおりでした。すいません。
set fname=%DATE:/=%
FOR /F "tokens=1-3 delims=/ " %%A in ('DATE /T') do SET YYYY=%%A&SET MM=%%B&SET DD=%%C
eventquery /s server /u userName /p passWord /l application /fi "Id eq 8" /fi "Datetime gt %MM%/%DD%/%YYYY%,01:00:00AM" /r 500 /v >%fname%.txt
のようにすると、%MM%/%DD%/%YYYY% が実行した日付に置き換わります。
上記のようにすると置き換わりました!!
ただ内容は全く理解できませんでした。
理解できるように勉強致します。
ありがとう御座いました。
No.1
- 回答日時:
event.bat の 12/04/2009 の部分をパラメータ %1 に変更して、Access で 実行する .Run の内容を
"~\event.bat" & Format(Date,"mm/dd/yyyy")
みたいな形にするのが手っ取り早いのではないかと思います。
(eventquery.vbsを元に当日分のみを出力するvbsを作ってもいいかもしれないですね)
この回答への補足
tsukasa-12r様
ご回答ありがうございます。
>event.bat の 12/04/2009 の部分をパラメータ %1 に変更して
▼event.bat
set fname=%DATE:/=%
eventquery /s server /u userName /p passWord /l application /fi "Id eq 8" /fi "Datetime gt %1,01:00:00AM" /r 500 /v >%fname%.txt
上記のように変更すると、エラーとなりログの取得ができないです。
【エラー内容】
エラー: 指定した 'DATETIME' 形式は無効です。形式: 月/日/年、時:分:秒AM(/PM) (2 桁の数字で指定、年は 4 桁指定可能)
%1の意味を教えていただけないでしょうか。
宜しくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:12
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- その他(開発・運用・管理) Windowsバッチファイルでリモートデスクトップを自動ログインするが確認画面が出る対処方法 1 2022/12/19 15:48
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
MSアクセスのマクロ・モジュールを実行
その他(プログラミング・Web制作)
-
accessでクエリをExcelにエクスポートする時にファイル名に日付を追加したい
Access(アクセス)
-
-
4
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
5
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
6
AccessからExcelのファイルを起動する
その他(データベース)
-
7
2つのテーブルに共通するレコードを削除したい
Access(アクセス)
-
8
Accessでレコードを別テーブルへコピーするには
Access(アクセス)
-
9
Accessを開きなおすとテキストボックスの値がエラー#Name?になる
その他(データベース)
-
10
Access VBAで行ラベルが定義されていないというエラーが出ます
Access(アクセス)
-
11
Accessで、フォームからフォームへ値を引き継ぐやり方
Access(アクセス)
-
12
フォームウィンドウを最前面に表示したい(ACCESS)
Microsoft ASP
-
13
Accessでテーブルの値をテキストボックスに代入するには?
Access(アクセス)
-
14
ACCESSで指定されたテーブルから削除できませんでしたとエラー
その他(データベース)
-
15
ACCESSのデータに自動で半角スペースを入れたい
その他(データベース)
-
16
VBAでバッチファイルを1つ実行する方法がうまくいきません
Visual Basic(VBA)
-
17
Accessマクロで出てくるコマンドラインとは何ですか?
その他(データベース)
-
18
Accessでデータシートに同じデータがいくつもでてしまいます。
その他(データベース)
-
19
アクセスでテキストボックスの値が空白だったら
Access(アクセス)
-
20
【Access】クエリで抽出したデータをCSV形式でエクスポートできますか?
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトのエラーに...
-
PDFファイルを開き、印刷し、閉...
-
エクセル フォルダの画像を画...
-
VScodeのエラー解決法 Pythonの...
-
[teraterm] waitコマンドで停止...
-
バッチファイルが不正終了して...
-
メッセージを他のPCに出したい
-
exeファイルを実行するとコマン...
-
Cをコマンドプロンプトから実行...
-
Accessからバッチ処理を実施し...
-
NASに移したBATファイルからセ...
-
Excelのセルの内容をコマンドプ...
-
<python>py.exeで実行すると日...
-
pythonスクリプトを管理者権限...
-
VBScriptでコマンドプロンプト...
-
vbsファイルをPC起動時に実行...
-
「読み取りと実行」と「読み取...
-
VBScriptでSQLファイルの実行
-
exeの同時実行について
-
VBAから複数のバッチファイルを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトのエラーに...
-
exeファイルを実行するとコマン...
-
バッチファイルで以下のような...
-
テキストファイルの1行目のみを...
-
[teraterm] waitコマンドで停止...
-
VBscriptが起動しない?
-
Excel VBA ステップインが途中...
-
「読み取りと実行」と「読み取...
-
バッチファイルの内容を表示さ...
-
PDFファイルを開き、印刷し、閉...
-
ネットワーク名が見つかりません
-
これってパソコンの最適化が完...
-
エクセル フォルダの画像を画...
-
【VB.NET】exeを実行すると「発...
-
pythonスクリプトを管理者権限...
-
Excel(エクセル) VBA プロシー...
-
VBS実行時にコマンドプロンプト...
-
バッチファイルが不正終了して...
-
16進数の変換処理
-
シェルで5分前の時間を取得したい
おすすめ情報