KeepITKool - Directory and File Size

T

Todd Huttenstine

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: Re: Finding byte info for files and folders
From: "keepITcool" <[email protected]> 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 >
 
T

Todd Huttenstine

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top