Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,814
Default Scratch that.....

Never mind.... I figured it out-- about two minutes after I clicked post.
Again, thank you for all your help.


"Steve" wrote:

I have another question for you....
I went in to the ExcelTips page you gave me, and have made some
modifications to Joe's macro.
I've set it up so that I could only choose specific attributes/properties of
the file, for the two directories.
Which means that I had to essentially duplicate the ListFilesInFolder code,
but make it input the values one column to the right of the source column. I
have yet to further study your sample, so that's what I could be missing.
Please see my question down below the code....

'*******************code***********************

Sub TestListFilesInFolder()
Workbooks.Add ' create a new workbook for the file list
' add headers
With range("A1")
.Formula = "Folder contents:"
.Font.Bold = True
.Font.size = 12
End With
range("A3:b3").Formula = "File Name:"
range("c3:d3").Formula = "File Size:"
range("e3:f3").Formula = "Date Created:"
range("g3:h3").Formula = "Date Last Modified:"

range("A3:H3").Font.Bold = True
ListFilesInFolder "N:\Steve'sTemp\New", True
ListFilesOnFolder "N:\Steve'sTemp\Old", True
' list all files included subfolders
End Sub
'===================================
Sub ListFilesInFolder(SourceFolderName As String, IncludeSubfolders As
Boolean)
' lists information about the files in SourceFolder
' example: ListFilesInFolder "C:\FolderName\", True
Dim FSO As Scripting.FileSystemObject
Dim SourceFolder As Scripting.folder, SubFolder As Scripting.folder
Dim FileItem As Scripting.File
Dim r As Long
Set FSO = New Scripting.FileSystemObject
Set SourceFolder = FSO.GetFolder(SourceFolderName)
r = range("A65536").End(xlUp).Row + 1
For Each FileItem In SourceFolder.Files
' display file properties
Cells(r, 1).Formula = FileItem.Name
Cells(r, 3).Formula = FileItem.size
Cells(r, 5).Formula = FileItem.DateCreated
Cells(r, 7).Formula = FileItem.DateLastModified

' use file methods (not proper in this example)
' FileItem.Copy "C:\FolderName\Filename.txt", True
' FileItem.Move "C:\FolderName\Filename.txt"
' FileItem.Delete True
r = r + 1 ' next row number
Next FileItem
If IncludeSubfolders Then
For Each SubFolder In SourceFolder.SubFolders
ListFilesInFolder SubFolder.Path, True
Next SubFolder
End If
Columns("A:H").AutoFit
Set FileItem = Nothing
Set SourceFolder = Nothing
Set FSO = Nothing
ActiveWorkbook.Saved = True
End Sub
'================================================

Sub ListFilesOnFolder(SourceFolderName As String, IncludeSubfolders As
Boolean)
' lists information about the files in SourceFolder
' example: ListFilesInFolder "C:\FolderName\", True
Dim FSO As Scripting.FileSystemObject
Dim SourceFolder As Scripting.folder, SubFolder As Scripting.folder
Dim FileItem As Scripting.File
Dim r As Long
Set FSO = New Scripting.FileSystemObject
Set SourceFolder = FSO.GetFolder(SourceFolderName)
r = 0
r = range("A65536").End(xlUp).Row + 1 ' this appears to be where my
'issue originates.
For Each FileItem In SourceFolder.Files
' display file properties
Cells(r, 2).Formula = FileItem.Name
Cells(r, 4).Formula = FileItem.size
Cells(r, 6).Formula = FileItem.DateCreated
Cells(r, 8).Formula = FileItem.DateLastModified

' use file methods (not proper in this example)
' FileItem.Copy "C:\FolderName\Filename.txt", True
' FileItem.Move "C:\FolderName\Filename.txt"
' FileItem.Delete True

r = r + 1 ' next row number
Next FileItem
If IncludeSubfolders Then
For Each SubFolder In SourceFolder.SubFolders
ListFilesInFolder SubFolder.Path, True
Next SubFolder
End If
Columns("A:H").AutoFit
Set FileItem = Nothing
Set SourceFolder = Nothing
Set FSO = Nothing
ActiveWorkbook.Saved = True
End Sub
'******************end of code*********************
As you can see, it will input the second directory's file names in the
column to the right of the first.
However, instead of placing them adjacent, it takes in to account the
already counted r, and sets the second set down the number of rows, for the
number of files.
I set a watch, and the second, ListFilesOnFolder, starts counting at the
bottom of the range selected by r.


i.e., r = range("A65536").End(xlUp).Row + 1

How would I set this to start at the same row, as did the ListFilesInFolder
began?

Beyond that, this is working as needed (that is until we find yet another
use which would require further modifications-- but that's another day ....
;-) ).

Again, thank you.
Best.

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Compare row contents Dylan Excel Programming 7 July 14th 08 09:05 PM
compare the contents of one range of cells with the contents of a. Dozy123 Excel Discussion (Misc queries) 1 January 24th 07 10:14 AM
Read- only Protect Folders and contents in WIN2K Server Tommydraw123 Excel Discussion (Misc queries) 3 October 31st 06 07:31 PM
Delete an entire folders contents (or just Excel files) DejaVu[_67_] Excel Programming 3 April 7th 06 09:29 PM
delete all the contents (sub folders and files) in the temp folder Joseph Excel Discussion (Misc queries) 0 June 6th 05 08:01 AM


All times are GMT +1. The time now is 06:10 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"