フォルダ内のFaxデータをまとめて削除する。
条件は更新日が二週間前。
Faxフォルダの中にデータが入っているがフォルダの数に規則性はない。
Faxフォルダ
20210411
Aさん
PDFデータ
PDFデータ
PDFデータ
再帰処理を行い、フォルダ内すべてのデータに対して処理を行う。
Dim ws As Worksheet 'Sheet1
Dim tRow As Long 'Sheet1の記入行番号Sub 再帰処理()
Dim FD As FileDialog
Dim FolderName As String
Dim fso As New Scripting.FileSystemObject
Dim FldObj As Scripting.Folder
Set ws = Worksheets("Sheet1")
tRow = 2
Set FD = Application.FileDialog(msoFileDialogFolderPicker)
If FD.Show = True Then
FolderName = FD.SelectedItems(1)
Set FldObj = fso.GetFolder(FolderName)
Call FolderAnalyze(FldObj)
End If
End Sub
Sub FolderAnalyze(FldObj As Scripting.Folder)
Dim FileObj As Scripting.File
Dim SubFld As Scripting.FolderFor Each FileObj In FldObj.Files
' ws.Cells(tRow, 1).Value = FileObj.Name
' ws.Cells(tRow, 2).Value = FileObj.DateLastModified
' ws.Cells(tRow, 3).Value = FileObj.ParentFolder.Path
' tRow = tRow + 1'Faxデータ削除処理(仮)2週間前という条件設定が上手く行っていない
' If FileObj.DateLastModified < Now() - 28 Then
Debug.Print FileObj.Name
Debug.Print FileObj.DateLastModified
Debug.Print Now() - 28
' Else
' End If
NextFor Each SubFld In FldObj.SubFolders
Call FolderAnalyze(SubFld)
NextEnd Sub
Zoom勉強会より
Zoom勉強会トライアル 参加者募集中。
— しゃあ@やっぱりVBAが好き (@VBA07529852) 2021年4月9日
4/11 Step6:FSOの使い方
4/13 Step4:デバッグスキルとサブルーチン pic.twitter.com/NeyLuBYeD0