Home » FSO・FileSystemObjectの使い方 » File.DateCreatedで取得した作成日時を分解するVBScript

File.DateCreatedで取得した作成日時を分解するVBScript

「filesystemobject datecreated 分解」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

FileSystemObjectの、FileオブジェクトのDateCreatedプロパティで、ファイルの作成日時を取得することができます。

DateCreatedプロパティで取得した作成日時を分解する

この作成日時を分解して、年・月・日などを取得する方法を探している方による検索でしょう。

[スポンサードリンク]

DateCreatedプロパティで取得した日時を分解するサンプルスクリプト

作成日時を分解してどうしたかったのか等の詳細がわかりませんので、参考になりそうなVBScriptをご紹介しておきます。

Option Explicit

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ファイルにドラッグアンドドロップすると作成日時と、作成日時を分解した年・月・日・時・分・秒が、以下のように表示されます。

DateCreatedプロパティで取得した作成日時を分解する

ちなみに、上図のメッセージボックスの1行目には
「2014/08/11(月)11:58:41」
と作成日時の曜日まで表示されていますが、これは私が自分のパソコンでタスクバーの日付に曜日まで表示する設定変更を行っているためです。

サンプルスクリプトの解説

ドラッグアンドドロップされたファイルに対するループの中で、FileSystemObjectオブジェクトのGetFileメソッドでFileオブジェクトを取得して、

DateCreatedプロパティで取得した作成日時を分解する

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

「FSO・FileSystemObjectの使い方」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.