• ベストアンサー

得た結果を別の値にして返す方法は?

VBスクリプトについて質問があります。日付関数で例えば関数で今月を取得し(例:2008年1月に実行したとして)200801という結果を得たとします。もし出た結果が01の時2007_10-12という値を返すような方法はあります でしょうか? 条件としては四半期ごとにVBSでファイル名を作成するので作成のソースに埋め込むために値を出したいということになります。 ★バッチで1,4,7,10月に実行する 実行したときに1月であれば前の年と前四半期の月を入れる 例として2008年1月に実行すると2007_10-12 2008年4月に実行すると2008_01-03 といった具合になります。 どんな風にコーディングしたらよいのでしょうか?

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

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

> VBSでやりたかったのですがウイルスソフトが反応して(反応させるのはマズイ環境)なのでやめました。 (http://okwave.jp/qa3773288.html)より。 だったのでは??? > どんな風にコーディングしたらよいのでしょうか? 「当月の月」で判定(IfステートメントやSelectステートメントとか)して、 1月なら「前年」+"_10-12" 4月なら「当年」+"_01-03" ・・・ と、BATの時と同じ考え方でよいのでは? 例えば ------------------------------------ Dim Y,M,Ans Y=Year(Now) M=Month(Now) Select Case M Case 1:Ans=(Y-1) & "_10-12" Case 4:Ans=Y & "_01-03" Case 7:Ans=Y & "_04-06" Case 10:Ans=Y & "_07-09" End Select WScript.Echo Ans ------------------------------------ #凝ったやり方は色々あるでしょうが・・・SimpleIsBestって事で。

その他の回答 (1)

  • m-toshi
  • ベストアンサー率31% (6/19)
回答No.2

少し凝ってみました。いかがでしょうか? Dim Y,M,Ans Y=Year(Now) M=Month(Now) M=M-3 if M<=0 then Y=Y-1 M=M+12 endif Ans=Y & "_" & M & "-" & M+2 WScript.Echo Ans

関連するQ&A