![]() |
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 |
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