Function FolderArgsMSG(FolderSpec, _
Optional AdditionInform As Boolean = True) 'This function return folder properties list
'for message box
'If AdditionInform=True then
'information about all subfolders is show
On Error Resume Next
Dim fs, f, s
Dim lngAllSubFoldersCount As Long
Dim lngSubFolderFilesCount As Long
Dim strFolderName As String
Dim strSize As String
strFolderName = FolderSpec
Set fs = CreateObject("Scripting.FileSystemObject"
Set f = fs.GetFolder(FolderSpec)
's = FileSpec & vbLf & vbLf
s = "Name: " & f.Name & vbLf
s = s & "Parent folder: " & vbTab & vbTab & f.parentfolder & vbLf & vbLf
s = s & vbTab & "Folder Type: " & vbTab & vbTab & f.Type & vbLf
s = s & vbTab & "Folder Created: " & vbTab & vbTab & f.DateCreated & vbLf
s = s & vbTab & "Last Modified: " & vbTab & vbTab & f.DateLastModified & vbLf
s = s & vbTab & "Last Accessed: " & vbTab & vbTab & f.DateLastAccessed & vbLf
strSize = CStr(Format(f.Size, "Standard") & vbLf
strSize = Left(strSize, InStr(1, strSize, ".", vbTextCompare) - 1)
s = s & vbTab & "Subfolders count: " & vbTab & f.SubFolders.Count & vbLf
s = s & vbTab & vbTab & "Files count: " & vbTab & f.Files.Count
If strSize = "" Then 'Permission denied
strSize = "Not available"
Else
strSize = strSize & " bytes"
End If
s = s & vbTab & "Folder Size: " & vbTab & vbTab & strSize
If AdditionInform Then
DoCmd.Hourglass True
s = s & vbLf
lngAllSubFoldersCount = SubFolderCount(strFolderName)
lngSubFolderFilesCount = SubFolderFilesCount(strFolderName)
s = s & vbTab & "All subfolders count: " & vbTab & lngAllSubFoldersCount & vbLf
s = s & vbTab & vbTab & "Files count: " & vbTab & lngSubFolderFilesCount
DoCmd.Hourglass False
End If
FolderArgsMSG = s
End Function '------------------------- Function SubFolderCount(FolderSpec As String, _
Optional lngSubDirCount As Long = 0) As Long 'This function return number of all subfolders which are contained
'on specific folder (FolderSpec)
On Error GoTo Err_SubFolderCount
Dim fs, f, f1, s, sf
Set fs = CreateObject("Scripting.FileSystemObject"
Set f = fs.GetFolder(FolderSpec)
lngSubDirCount = lngSubDirCount + f.SubFolders.Count
Set sf = f.SubFolders
If sf.Count > 0 Then
For Each s In sf 'Recursive call
lngSubDirCount = SubFolderCount(s.path, lngSubDirCount)
Next s
End If
Exit_SubFolderCount:
SubFolderCount = lngSubDirCount
Exit Function
Err_SubFolderCount:
If Err.Number <> 70 Then 'Permission denied
MsgBox "Err No " & Err.Number & vbLf & Err.Description, , "Function SubFolderCount"
End If
Resume Exit_SubFolderCount
End Function '---------------------------- Function SubFolderFilesCount(FolderSpec As String, _
Optional lngFilesCount As Long = 0) As Long 'This function return number of all files
'in all subfolders which are contained
'on specific folder (FolderSpec)
On Error GoTo Err_SubFolderCount
Dim fs, f, f1, s, sf
Set fs = CreateObject("Scripting.FileSystemObject"
Set f = fs.GetFolder(FolderSpec)
lngFilesCount = lngFilesCount + f.Files.Count
Set sf = f.SubFolders
If sf.Count > 0 Then
For Each s In sf 'Recursive calls
lngFilesCount = SubFolderFilesCount(s.path, lngFilesCount)
Next s
End If
Exit_SubFolderCount:
SubFolderFilesCount = lngFilesCount
Exit Function
Err_SubFolderCount:
If Err.Number <> 70 Then 'Permission denied
MsgBox "Err No " & Err.Number & vbLf & Err.Description, , "Function SubFolderFilesCount"
End If
Resume Exit_SubFolderCount
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.