アプリ版:「スタンプのみでお礼する」機能のリリースについて

VBscriptを使い特定条件のファイル抽出をしておりますがそこに日時計算をいれたいとおもっているのですがわからない部分があるのでご存知の方いらっしゃいましたら教えていただけないでしょうか?

ファイル抽出のためのVBSは下記のようになっております。
Dim oLogQuery
Dim oEVTInputFormat
Dim oCSVOutputFormat
Dim strQuery

Set oLogQuery = CreateObject("MSUtil.LogQuery")

' クエリ テキストを作成します。
strQuery = "SELECT TimeGenerated, EventID INTO C:\output.csv FROM System"●
strQuery = strQuery & " WHERE SourceName = 'Application Popup'"

' クエリを実行します。
oLogQuery.ExecuteBatch strQuery, oEVTInputFormat, oCSVOutputFormat

わかるように●マークをつけてある部分ですが月ごとにoutput.csvを出しますがファイルが上書きになってしまうのは困るので抽出したファイルに作成した前の月をいれたいのですがどうしたらよいでしょうか?
例えば今抽出したらoutput200801.csvとなる様にです。
クエリテキスト作成の前に日月計算をしてoutput%LASTMONTH%のようにすればいいかなと検討はしておりますが・・・
あと、例えば2008年1月に3か月分のものをだしたという条件のとき(2007年10月~12月)計算結果が2000801と出たとき下2桁が01の場合前年度の年数+10-12というような表示をさせることも可能でしょうか?
よろしくお願いします。
環境はXPでLogParserを自動で使う場合の条件式です。

A 回答 (2件)

こんばんちくは。



一番簡単に考えると。。。


Dim Year_num
Dim Month_num
Dim Day_num

Year_num = Year(Now)
Month_num = Month(Now)
Day_num = Day(Now)

で、それぞれ年月日取ってきて、それをファイル名に組み込んでやる。。。かな。。。
もうちょっと工夫の方法はあった気がしますが、簡単に思い出せるのはYear関数とMonth関数とDay関数ぐらいです。


>>前年度の年数+10-12というような表示をさせることも可能でしょうか?
工夫次第かと。

どんな計算したいのかは質問文からは読み取れませんでしたが。。。^^;


output200712-200802.csvなんてのも、まぁ可能でしょう。
    • good
    • 0

1ヶ月前なら、例えば、


----------------------------------------------
Dim b
Dim ym
b=DateAdd("M",-1,Now)
ym=Year(b)*100+Month(b)
MsgBox ym
----------------------------------------------
こうすれば、求まります。
#3ヶ月前なら「-3」
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!