「filesystemobject datecreated 分解」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。
FileSystemObjectの、FileオブジェクトのDateCreatedプロパティで、ファイルの作成日時を取得することができます。
この作成日時を分解して、年・月・日などを取得する方法を探している方による検索でしょう。
DateCreatedプロパティで取得した日時を分解するサンプルスクリプト
作成日時を分解してどうしたかったのか等の詳細がわかりませんので、参考になりそうなVBScriptをご紹介しておきます。
Dim fso ' Scripting.FileSystemObject
Dim f_name
Dim dtm
Set fso = CreateObject("Scripting.FileSystemObject")
For Each f_name in WScript.Arguments
dtm = fso.GetFile(f_name).DateCreated
MsgBox dtm & vbCrLf & vbCrLf & _
"年:" & Year(dtm) & vbCrLf & _
"月:" & Month(dtm) & vbCrLf & _
"日:" & Day(dtm) & vbCrLf & _
"時:" & Hour(dtm) & vbCrLf & _
"分:" & Minute(dtm) & vbCrLf & _
"秒:" & Second(dtm) & vbCrLf
Next
Set fso = Nothing上記のコードを含んだ、拡張子「.vbs」のファイルを用意しておいて、作成日時を分解したい何らかのファイルをその.vbsファイルにドラッグアンドドロップすると作成日時と、作成日時を分解した年・月・日・時・分・秒が、以下のように表示されます。
ちなみに、上図のメッセージボックスの1行目には
「2014/08/11(月)11:58:41」
と作成日時の曜日まで表示されていますが、これは私が自分のパソコンでタスクバーの日付に曜日まで表示する設定変更を行っているためです。
サンプルスクリプトの解説
ドラッグアンドドロップされたファイルに対するループの中で、FileSystemObjectオブジェクトのGetFileメソッドでFileオブジェクトを取得して、
DateCreatedプロパティで作成日時を取得して、変数・dtmに格納しておいてから、
dtm = fso.GetFile(f_name).DateCreated
VBScriptの、Year・Mont・Day・Hour・Minute・Second関数で、年・月・日・時・分・秒に分解しています。
"年:" & Year(dtm) & vbCrLf & _
"月:" & Month(dtm) & vbCrLf & _
"日:" & Day(dtm) & vbCrLf & _
"時:" & Hour(dtm) & vbCrLf & _
"分:" & Minute(dtm) & vbCrLf & _
"秒:" & Second(dtm) & vbCrLf
ここではVBScriptのコードをご紹介しましたが、Year・Mont・Day・Hour・Minute・Second関数はVBA(Visual Basic for Applications)にもありますから、
MsgBox dtm & vbCrLf & vbCrLf & _
"年:" & Year(dtm) & vbCrLf & _
"月:" & Month(dtm) & vbCrLf & _
"日:" & Day(dtm) & vbCrLf & _
"時:" & Hour(dtm) & vbCrLf & _
"分:" & Minute(dtm) & vbCrLf & _
"秒:" & Second(dtm) & vbCrLf
の部分については、このままVBAでも使うことができます。
ちなみに、DateCreatedプロパティは作成日時を取得するプロパティですから、更新日時を取得するときはDateLastModifiedプロパティを使ってください。
Home » FSO・FileSystemObjectの使い方 » File.DateCreatedで取得した作成日時を分解するVBScript