• ベストアンサー

VBscriptで日数計算しファイル名にしたい

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を自動で使う場合の条件式です。

質問者が選んだベストアンサー

  • ベストアンサー
  • STICKY2006
  • ベストアンサー率29% (1536/5269)
回答No.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なんてのも、まぁ可能でしょう。

その他の回答 (1)

  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.1

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

関連するQ&A

専門家に質問してみよう