VBATips

ファイルを世代管理する【ExcelVBA】

ファイルを世代管理したい

VBAマクロでログファイルの生成やバックアップ用ファイルの自動作成などを行うケースがあります。
次の問題点が、出来上がったログやバックアップの管理をどこまでするかです。

ずっと放置してデータを貯めていくという考えもよいですが、ファイルを世代管理し、
世代が古いデータは削除するといった事も対応していきたいです。

ファイルを世代管理するサンプルコード

世代管理である一定の数を超えた場合は、ファイル削除する形をとります。

’■ファイルを世代管理する(指定数より古いファイルは削除する)
Public Sub sample()
    Dim sPath As String: sPath = "C:\vba"           'バックアップ用パス
    Dim sExtension As String: sExtension = "*.xls*" '拡張子※指定しない場合はワイルドカード
    Dim num As Long: num = 10                       '10世代分はバックアップを取得する
    
    Dim sFullName As String
    Dim i As Long
    For i = Call_GetFileCount(sPath, sExtension) To num + 1 Step -1 '★
    
        sFullName = Call_GetOldestFile(sPath, sExtension) '★
        
        '■直接削除する場合
        'Kill sFullName
        '■ゴミ箱へ移動する場合
        Call_MoveDustbox (sFullName) '★
    Next
End Sub

注意点

関連記事

コメント

タイトルとURLをコピーしました