VB6

2011-12-14 10 views
0

でのx歳以上のファイルを削除して、私は私がx年VB6

ノートよりも古いファイルを削除する方法を知りたい:私の日付は、私は、これは何の問題か

これを引き起こすことができるかどうか知らないmydate(yyyy/mm/dd)ですこれまでの私のコードです:

Dim fso As Variant 
Dim directory As Variant 
Dim modified As Variant 
Dim files As Variant 

Private Sub Command1_Click() 

    Set fso = CreateObject(“Scripting.FileSystemObject”) 
    Set directory = fso.GetFolder(App.Path & "\log") 
    Set files = directory.files 

    For Each modified In files 

    If DateDiff("Y", modified.DateLastModified, Now) > mydate Then 

     modified.Delete 

    Next 

End Sub 

私は人生で初めてDateDiffを使用していますので、間違っているところを説明してください。

答えて

3

DateDiffは、2つの日付の差を返します。あなたは現在の日付とファイルが最後に修正された日付との間の差異を得るのにそれを使用していますが、これを日付変数と比較しています(myDateの定義は含まれていません)。

If DateDiff("Y", modified.DateLastModified, Now) > x Then 
    modified.Delete 
End If 
X は整数(例えば2歳以上のファイルのための)である

:あなたはより多くのようなものが必要。

+0

私はこのような間違いをしたと信じていません!そのような嘘つき私はその脳の損傷を得るために十分に病気であったので、これは右にこれに感謝すると思う。 –

+3

また、 'DateDiff(" Y "...)'は年の値の差のみを与えます。 2012年3月31日と2012年1月1日の間の差異は、わずか1日の差にもかかわらず1年ごとに異なります。 – Deanna

+0

@Deanna拡張情報ありがとうございます。 –