ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   KeepITKool - Directory and File Size (https://www.excelbanter.com/excel-programming/315085-keepitkool-directory-file-size.html)

Todd huttenstine

KeepITKool - Directory and File Size
 
Hey

Below is a response I got yesterday from KeepITkool.

I am getting the error that the file cannot be found when
the code executes this line: n = n + VBA.FileLen(sFile)


Can you tell me why. I have an inputbox asking for the
directory. When I type in C:\ABC, it runs the function.
Then in the function when it gets to that line of code, I
get that error. Do I need to reference a certain library?


Thanks for your help.
Todd

Subject: Finding byte info for files and folders
From: "keepITcool" Sent:
10/27/2004 3:50:38 PM




vba.FileLen(strPath) gives length in bytes
the prefix VBA is optional but included for clarity.


FirstMethod EXCLUDES the subdirs (pure VBA)
Second INCLUDES the subdirs (latebound Scripting
Runtime)

Both return bytes.
for KB : result \ 1024
for MB : result \ 1024 ^ 2


Function DirSize&(Optional sDir$, Optional sMask$ = "*.*")
Dim n&, sFile$
If sDir = vbNullString Then
sDir = VBA.CurDir$
End If
If VBA.Right$(sDir, 1) < Application.PathSeparator Then
sDir = sDir & Application.PathSeparator
End If

sFile = VBA.Dir$(sDir & sMask)
While sFile < vbNullString
n = n + VBA.FileLen(sFile)
sFile = VBA.Dir$()
Wend

DirSize = n

End Function

Function DirSizeFS&(Optional sDir$)
'INCLUDES SUBFOLDERSIZE
'http://msdn.microsoft.com/library/en-
us/script56/html/jsprosize.asp
If sDir = vbNullString Then
sDir = VBA.CurDir$
End If
With CreateObject("scripting.filesystemobject")
If .FolderExists(sDir) Then
DirSizeFS = .GetFolder(sDir).Size
End If
End With

End Function


keepITcool

< email : keepitcool chello nl (with @ and .)
< homepage: http://members.chello.nl/keepitcool


"Todd Huttenstine"
wrote:

Hey guys

How do I find the byte info for files and folders?

The reason I want to do this is because i have a

directory
C:\test

Files in this directory can be added and/or changed.

How
would I check the size of that directory? Also how

would
I check the size of a file called "ABC.xls" in that same
directory?


Thanks
Todd Huttenstine




Todd huttenstine

KeepITKool - Directory and File Size
 
Hey

I figured it out. I had to change the line from:
n = n + VBA.FileLen(sFile)
to:
n = n + VBA.FileLen(sDir & sFile)


Thanks again
Todd
-----Original Message-----
Hey

Below is a response I got yesterday from KeepITkool.

I am getting the error that the file cannot be found when
the code executes this line: n = n + VBA.FileLen(sFile)


Can you tell me why. I have an inputbox asking for the
directory. When I type in C:\ABC, it runs the function.
Then in the function when it gets to that line of code, I
get that error. Do I need to reference a certain library?


Thanks for your help.
Todd

Subject: Finding byte info for files and folders
From: "keepITcool" Sent:
10/27/2004 3:50:38 PM




vba.FileLen(strPath) gives length in bytes
the prefix VBA is optional but included for clarity.


FirstMethod EXCLUDES the subdirs (pure VBA)
Second INCLUDES the subdirs (latebound Scripting
Runtime)

Both return bytes.
for KB : result \ 1024
for MB : result \ 1024 ^ 2


Function DirSize&(Optional sDir$, Optional sMask$ = "*.*")
Dim n&, sFile$
If sDir = vbNullString Then
sDir = VBA.CurDir$
End If
If VBA.Right$(sDir, 1) < Application.PathSeparator Then
sDir = sDir & Application.PathSeparator
End If

sFile = VBA.Dir$(sDir & sMask)
While sFile < vbNullString
n = n + VBA.FileLen(sFile)
sFile = VBA.Dir$()
Wend

DirSize = n

End Function

Function DirSizeFS&(Optional sDir$)
'INCLUDES SUBFOLDERSIZE
'http://msdn.microsoft.com/library/en-
us/script56/html/jsprosize.asp
If sDir = vbNullString Then
sDir = VBA.CurDir$
End If
With CreateObject("scripting.filesystemobject")
If .FolderExists(sDir) Then
DirSizeFS = .GetFolder(sDir).Size
End If
End With

End Function


keepITcool

< email : keepitcool chello nl (with @ and .)
< homepage: http://members.chello.nl/keepitcool


"Todd Huttenstine"
wrote:

Hey guys

How do I find the byte info for files and folders?

The reason I want to do this is because i have a

directory
C:\test

Files in this directory can be added and/or changed.

How
would I check the size of that directory? Also how

would
I check the size of a file called "ABC.xls" in that

same
directory?


Thanks
Todd Huttenstine



.



All times are GMT +1. The time now is 12:04 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com